Compare commits

..

3 Commits

40 changed files with 4824 additions and 501 deletions

2
.gitignore vendored
View File

@ -3,6 +3,8 @@ dictionaries/
LicenceManager/
Common/boost_1_58_0
Common/3dParty/boost/boost_1_58_0
Common/3dParty/boost/ios
Common/3dParty/boost/osx
Common/3dParty/icu/win_64
Common/3dParty/icu/win_32
Common/3dParty/icu/linux_64

View File

@ -58,6 +58,11 @@ namespace NSBinPptxRW
{
class CDrawingConverter;
}
namespace OOX
{
class CApp;
class CCore;
}
namespace Writers
{
@ -87,6 +92,8 @@ namespace Writers
std::wstring m_sThemePath;
int m_nDocPrIndex;
BinDocxRW::CComments* m_pComments;
OOX::CApp* m_pApp;
OOX::CCore* m_pCore;
FileWriter (std::wstring sDirOutput,std::wstring sFontDir, bool bNoFontDir, int nVersion, bool bSaveChartAsImg, NSBinPptxRW::CDrawingConverter* pDrawingConverter, std::wstring sThemePath)
: m_pDrawingConverter(pDrawingConverter), m_sThemePath(sThemePath), m_bSaveChartAsImg(bSaveChartAsImg),
@ -105,9 +112,16 @@ namespace Writers
m_oWebSettingsWriter (sDirOutput),
m_nDocPrIndex(0),
m_pComments(NULL),
m_oCustomXmlWriter (sDirOutput, pDrawingConverter)
m_oCustomXmlWriter (sDirOutput, pDrawingConverter),
m_pApp (NULL),
m_pCore (NULL)
{
}
~FileWriter()
{
RELEASEOBJECT(m_pApp);
RELEASEOBJECT(m_pCore);
}
int getNextDocPr()
{
m_nDocPrIndex++;

View File

@ -38,6 +38,9 @@
#include "../BinWriter/BinReaderWriterDefines.h"
#include "../../XlsxSerializerCom/Writer/BinaryReader.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/App.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/Core.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Docx.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Document.h"
#include "../../Common/DocxFormat/Source/DocxFormat/FontTable.h"
@ -47,6 +50,8 @@
#include "../../Common/DocxFormat/Source/DocxFormat/Footnote.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Endnote.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Settings/Settings.h"
#include "../../Common/DocxFormat/Source/DocxFormat/App.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Core.h"
#include "../DocWrapper/XlsxSerializer.h"
@ -8798,6 +8803,28 @@ public:
//case c_oSerTableTypes::Document:
// res = Binary_DocumentTableReader(m_oBufferedStream, m_oFileWriter, m_oFileWriter.m_oDocumentWriter).Read();
// break;
case c_oSerTableTypes::App:
{
PPTX::App oApp(NULL);
m_oBufferedStream.Skip(1); // type
oApp.fromPPTY(&m_oBufferedStream);
OOX::CApp* pApp = new OOX::CApp(NULL);
pApp->FromPptxApp(&oApp);
pApp->SetRequiredDefaults();
m_oFileWriter.m_pApp = pApp;
}
break;
case c_oSerTableTypes::Core:
{
PPTX::Core oCore(NULL);
m_oBufferedStream.Skip(1); // type
oCore.fromPPTY(&m_oBufferedStream);
OOX::CCore* pCore = new OOX::CCore(NULL);
pCore->FromPptxCore(&oCore);
pCore->SetRequiredDefaults();
m_oFileWriter.m_pCore = pCore;
}
break;
case c_oSerTableTypes::HdrFtr:
res = Binary_HdrFtrTableReader(m_oBufferedStream, m_oFileWriter, m_oFileWriter.m_pComments).Read();
break;

View File

@ -296,33 +296,28 @@ bool BinDocxRW::CDocxSerializer::loadFromFile(const std::wstring& sSrcFileName,
OOX::CPath DocProps = std::wstring(_T("docProps"));
OOX::CApp* pApp = new OOX::CApp(NULL);
if (pApp)
if (NULL != m_pCurFileWriter->m_pApp)
{
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
pApp->SetApplication(sApplication);
#if defined(INTVER)
pApp->SetAppVersion(VALUE2STR(INTVER));
#endif
pApp->SetDocSecurity(0);
pApp->SetScaleCrop(false);
pApp->SetLinksUpToDate(false);
pApp->SetSharedDoc(false);
pApp->SetHyperlinksChanged(false);
pApp->write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
delete pApp;
}
OOX::CCore* pCore = new OOX::CCore(NULL);
if (pCore)
m_pCurFileWriter->m_pApp->write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
}
else
{
pCore->SetCreator(_T(""));
pCore->SetLastModifiedBy(_T(""));
pCore->write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
delete pCore;
}
OOX::CApp pApp(NULL);
pApp.SetDefaults();
pApp.write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
}
if (NULL != m_pCurFileWriter->m_pCore)
{
m_pCurFileWriter->m_pCore->write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
}
else
{
OOX::CCore pCore(NULL);
pCore.SetDefaults();
pCore.write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
}
/////////////////////////////////////////////////////////////////////////////////////
m_pCurFileWriter->Write();
pContentTypes->Write(sDstPath);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:ASCOfficeOdfFile.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1 @@
DO NOT REMOVE FOLDER FOR XCODE

View File

@ -0,0 +1,841 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
8AF8AAF522048F9F004BDAC2 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4622048F9E004BDAC2 /* utils.cpp */; };
8AF8AAF622048F9F004BDAC2 /* text_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */; };
8AF8AAF722048F9F004BDAC2 /* office_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */; };
8AF8AAF822048F9F004BDAC2 /* style_table_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */; };
8AF8AAF922048F9F004BDAC2 /* svg_creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */; };
8AF8AAFA22048F9F004BDAC2 /* ods_table_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */; };
8AF8AAFB22048F9F004BDAC2 /* style_chart_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */; };
8AF8AAFC22048F9F004BDAC2 /* oox_shape_defines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */; };
8AF8AAFD22048F9F004BDAC2 /* odf_chart_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */; };
8AF8AAFE22048F9F004BDAC2 /* style_text_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */; };
8AF8AAFF22048F9F004BDAC2 /* logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5C22048F9E004BDAC2 /* logging.cpp */; };
8AF8AB0022048F9F004BDAC2 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6122048F9E004BDAC2 /* table.cpp */; };
8AF8AB0122048F9F004BDAC2 /* office_chart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */; };
8AF8AB0222048F9F004BDAC2 /* odf_table_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */; };
8AF8AB0322048F9F004BDAC2 /* style_map.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6522048F9E004BDAC2 /* style_map.cpp */; };
8AF8AB0422048F9F004BDAC2 /* office_scripts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */; };
8AF8AB0522048F9F004BDAC2 /* styles_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */; };
8AF8AB0622048F9F004BDAC2 /* styles_lite_container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */; };
8AF8AB0722048F9F004BDAC2 /* style_paragraph_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */; };
8AF8AB0822048F9F004BDAC2 /* office_document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7022048F9E004BDAC2 /* office_document.cpp */; };
8AF8AB0922048F9F004BDAC2 /* anim_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */; };
8AF8AB0A22048F9F004BDAC2 /* odf_rels.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */; };
8AF8AB0B22048F9F004BDAC2 /* style_section_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */; };
8AF8AB0C22048F9F004BDAC2 /* office_elements_create.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */; };
8AF8AB0D22048F9F004BDAC2 /* odf_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */; };
8AF8AB0E22048F9F004BDAC2 /* odf_text_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */; };
8AF8AB0F22048F9F004BDAC2 /* mediaitems.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */; };
8AF8AB1022048F9F004BDAC2 /* office_settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */; };
8AF8AB1122048F9F004BDAC2 /* style_presentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */; };
8AF8AB1222048F9F004BDAC2 /* office_text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9722048F9F004BDAC2 /* office_text.cpp */; };
8AF8AB1322048F9F004BDAC2 /* odp_page_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */; };
8AF8AB1422048F9F004BDAC2 /* ods_table_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */; };
8AF8AB1522048F9F004BDAC2 /* calcext_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */; };
8AF8AB1622048F9F004BDAC2 /* odf_page_layout_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */; };
8AF8AB1722048F9F004BDAC2 /* odf_settings_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */; };
8AF8AB1822048F9F004BDAC2 /* style_page_layout_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */; };
8AF8AB1922048F9F004BDAC2 /* odf_page_layout_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */; };
8AF8AB1A22048F9F004BDAC2 /* abstract_xml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */; };
8AF8AB1B22048F9F004BDAC2 /* table_named_expressions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */; };
8AF8AB1C22048F9F004BDAC2 /* odf_notes_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */; };
8AF8AB1D22048F9F004BDAC2 /* draw_page.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */; };
8AF8AB1E22048F9F004BDAC2 /* number_style.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */; };
8AF8AB1F22048F9F004BDAC2 /* odp_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */; };
8AF8AB2022048F9F004BDAC2 /* odf_drawing_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */; };
8AF8AB2122048F9F004BDAC2 /* odf_comment_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */; };
8AF8AB2222048F9F004BDAC2 /* list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB222048F9F004BDAC2 /* list.cpp */; };
8AF8AB2322048F9F004BDAC2 /* odf_style_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */; };
8AF8AB2422048F9F004BDAC2 /* ods_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */; };
8AF8AB2522048F9F004BDAC2 /* styles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB622048F9F004BDAC2 /* styles.cpp */; };
8AF8AB2622048F9F004BDAC2 /* office_presentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */; };
8AF8AB2722048F9F004BDAC2 /* odf_table_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */; };
8AF8AB2822048F9F004BDAC2 /* odt_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */; };
8AF8AB2922048F9F004BDAC2 /* odp_slide_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */; };
8AF8AB2A22048F9F004BDAC2 /* paragraph_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */; };
8AF8AB2B22048F9F004BDAC2 /* draw_frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */; };
8AF8AB2C22048F9F004BDAC2 /* object_package.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAC722048F9F004BDAC2 /* object_package.cpp */; };
8AF8AB2D22048F9F004BDAC2 /* odf_number_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */; };
8AF8AB2E22048F9F004BDAC2 /* office_body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AACA22048F9F004BDAC2 /* office_body.cpp */; };
8AF8AB2F22048F9F004BDAC2 /* header_footer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */; };
8AF8AB3022048F9F004BDAC2 /* office_event_listeners.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */; };
8AF8AB3122048F9F004BDAC2 /* draw_shapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */; };
8AF8AB3222048F9F004BDAC2 /* odf_lists_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */; };
8AF8AB3322048F9F004BDAC2 /* style_graphic_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */; };
8AF8AB3422048F9F004BDAC2 /* office_spreadsheet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */; };
8AF8AB3522048F9F004BDAC2 /* mediaitems_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */; };
8AF8AB3622048F9F004BDAC2 /* draw_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */; };
8AF8AB3722048F9F004BDAC2 /* table_database_ranges.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */; };
8AF8AB3822048F9F004BDAC2 /* odf_style_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */; };
8AF8AB3922048F9F004BDAC2 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE422048F9F004BDAC2 /* Converter.cpp */; };
8AF8AB3A22048F9F004BDAC2 /* ConverterChart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */; };
8AF8AB3B22048F9F004BDAC2 /* XlsxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */; };
8AF8AB3C22048F9F004BDAC2 /* DocxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */; };
8AF8AB3D22048F9F004BDAC2 /* PptxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */; };
8AF8AB3E22048F9F004BDAC2 /* ConvertVml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */; };
8AF8AB3F22048F9F004BDAC2 /* ConvertDrawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
8AF8AA3622048F12004BDAC2 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
8AC4E6EC220587220044119A /* regex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = regex.hpp; path = ../../../../Common/3dParty/boost/boost_1_58_0/boost/regex.hpp; sourceTree = "<group>"; };
8AC4E6ED220587530044119A /* regex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = regex.hpp; path = ../../../../Common/3dParty/boost/boost_1_58_0/boost/regex/v4/regex.hpp; sourceTree = "<group>"; };
8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libASCOfficeOdfFileW.a; sourceTree = BUILT_PRODUCTS_DIR; };
8AF8AA4522048F9E004BDAC2 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = "<group>"; };
8AF8AA4622048F9E004BDAC2 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = "<group>"; };
8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_elements.cpp; sourceTree = "<group>"; };
8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_annotation.cpp; sourceTree = "<group>"; };
8AF8AA4A22048F9E004BDAC2 /* draw_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_frame.h; sourceTree = "<group>"; };
8AF8AA4B22048F9E004BDAC2 /* styles_lite_container.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles_lite_container.h; sourceTree = "<group>"; };
8AF8AA4C22048F9E004BDAC2 /* ods_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_conversion_context.h; sourceTree = "<group>"; };
8AF8AA4D22048F9E004BDAC2 /* office_scripts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_scripts.h; sourceTree = "<group>"; };
8AF8AA4E22048F9E004BDAC2 /* draw_page.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_page.h; sourceTree = "<group>"; };
8AF8AA4F22048F9E004BDAC2 /* anim_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = anim_elements.h; sourceTree = "<group>"; };
8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_table_properties.cpp; sourceTree = "<group>"; };
8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svg_creator.cpp; sourceTree = "<group>"; };
8AF8AA5222048F9E004BDAC2 /* style_page_layout_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_page_layout_properties.h; sourceTree = "<group>"; };
8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_table_state.cpp; sourceTree = "<group>"; };
8AF8AA5422048F9E004BDAC2 /* ods_table_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_table_context.h; sourceTree = "<group>"; };
8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_chart_properties.cpp; sourceTree = "<group>"; };
8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = oox_shape_defines.cpp; sourceTree = "<group>"; };
8AF8AA5722048F9E004BDAC2 /* oox_shape_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shape_defines.h; sourceTree = "<group>"; };
8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_chart_context.cpp; sourceTree = "<group>"; };
8AF8AA5922048F9E004BDAC2 /* style_section_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_section_properties.h; sourceTree = "<group>"; };
8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_text_properties.cpp; sourceTree = "<group>"; };
8AF8AA5B22048F9E004BDAC2 /* odf_table_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_table_context.h; sourceTree = "<group>"; };
8AF8AA5C22048F9E004BDAC2 /* logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logging.cpp; sourceTree = "<group>"; };
8AF8AA5D22048F9E004BDAC2 /* calcext_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = calcext_elements.h; sourceTree = "<group>"; };
8AF8AA5E22048F9E004BDAC2 /* office_elements_type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements_type.h; sourceTree = "<group>"; };
8AF8AA5F22048F9E004BDAC2 /* odf_style_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_style_state.h; sourceTree = "<group>"; };
8AF8AA6022048F9E004BDAC2 /* odf_rels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_rels.h; sourceTree = "<group>"; };
8AF8AA6122048F9E004BDAC2 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_chart.cpp; sourceTree = "<group>"; };
8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_table_context.cpp; sourceTree = "<group>"; };
8AF8AA6422048F9E004BDAC2 /* odp_slide_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_slide_context.h; sourceTree = "<group>"; };
8AF8AA6522048F9E004BDAC2 /* style_map.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_map.cpp; sourceTree = "<group>"; };
8AF8AA6622048F9E004BDAC2 /* style_paragraph_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_paragraph_properties.h; sourceTree = "<group>"; };
8AF8AA6722048F9E004BDAC2 /* table_database_ranges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table_database_ranges.h; sourceTree = "<group>"; };
8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_scripts.cpp; sourceTree = "<group>"; };
8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles_list.cpp; sourceTree = "<group>"; };
8AF8AA6A22048F9E004BDAC2 /* odf_text_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_text_context.h; sourceTree = "<group>"; };
8AF8AA6B22048F9E004BDAC2 /* odf_notes_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_notes_context.h; sourceTree = "<group>"; };
8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles_lite_container.cpp; sourceTree = "<group>"; };
8AF8AA6D22048F9E004BDAC2 /* office_annotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_annotation.h; sourceTree = "<group>"; };
8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_paragraph_properties.cpp; sourceTree = "<group>"; };
8AF8AA6F22048F9E004BDAC2 /* office_chart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_chart.h; sourceTree = "<group>"; };
8AF8AA7022048F9E004BDAC2 /* office_document.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_document.cpp; sourceTree = "<group>"; };
8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = anim_elements.cpp; sourceTree = "<group>"; };
8AF8AA7222048F9E004BDAC2 /* office_event_listeners.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_event_listeners.h; sourceTree = "<group>"; };
8AF8AA7322048F9E004BDAC2 /* style_table_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_table_properties.h; sourceTree = "<group>"; };
8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_rels.cpp; sourceTree = "<group>"; };
8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_section_properties.cpp; sourceTree = "<group>"; };
8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_elements_create.cpp; sourceTree = "<group>"; };
8AF8AA7722048F9E004BDAC2 /* office_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements.h; sourceTree = "<group>"; };
8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AA7922048F9E004BDAC2 /* office_settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_settings.h; sourceTree = "<group>"; };
8AF8AA7B22048F9E004BDAC2 /* oox_shapePrimitives.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapePrimitives.h; sourceTree = "<group>"; };
8AF8AA7C22048F9E004BDAC2 /* oox_shapeBents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeBents.h; sourceTree = "<group>"; };
8AF8AA7D22048F9E004BDAC2 /* oox_shapeConnectors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeConnectors.h; sourceTree = "<group>"; };
8AF8AA7E22048F9E004BDAC2 /* oox_shapeCallouts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCallouts.h; sourceTree = "<group>"; };
8AF8AA7F22048F9E004BDAC2 /* oox_shapeCharts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCharts.h; sourceTree = "<group>"; };
8AF8AA8022048F9E004BDAC2 /* oox_shapeArrows.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeArrows.h; sourceTree = "<group>"; };
8AF8AA8122048F9E004BDAC2 /* oox_shapeWordArt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeWordArt.h; sourceTree = "<group>"; };
8AF8AA8222048F9E004BDAC2 /* oox_shapeCurvedArrows.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCurvedArrows.h; sourceTree = "<group>"; };
8AF8AA8322048F9E004BDAC2 /* oox_shapeStars.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeStars.h; sourceTree = "<group>"; };
8AF8AA8422048F9F004BDAC2 /* oox_shapeActionButtons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeActionButtons.h; sourceTree = "<group>"; };
8AF8AA8522048F9F004BDAC2 /* oox_shapeCustoms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCustoms.h; sourceTree = "<group>"; };
8AF8AA8622048F9F004BDAC2 /* oox_shapeSnipRoundRects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeSnipRoundRects.h; sourceTree = "<group>"; };
8AF8AA8722048F9F004BDAC2 /* odf_shape_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_shape_mapping.h; sourceTree = "<group>"; };
8AF8AA8822048F9F004BDAC2 /* oox_shapeCurvedConnectors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCurvedConnectors.h; sourceTree = "<group>"; };
8AF8AA8922048F9F004BDAC2 /* oox_shapeMaths.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeMaths.h; sourceTree = "<group>"; };
8AF8AA8A22048F9F004BDAC2 /* oox_shapeRibbons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeRibbons.h; sourceTree = "<group>"; };
8AF8AA8B22048F9F004BDAC2 /* oox_shapeAccentCallouts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeAccentCallouts.h; sourceTree = "<group>"; };
8AF8AA8C22048F9F004BDAC2 /* mediaitems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediaitems.h; sourceTree = "<group>"; };
8AF8AA8D22048F9F004BDAC2 /* style_presentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_presentation.h; sourceTree = "<group>"; };
8AF8AA8E22048F9F004BDAC2 /* style_graphic_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_graphic_properties.h; sourceTree = "<group>"; };
8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_text_context.cpp; sourceTree = "<group>"; };
8AF8AA9022048F9F004BDAC2 /* draw_shapes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_shapes.h; sourceTree = "<group>"; };
8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mediaitems.cpp; sourceTree = "<group>"; };
8AF8AA9222048F9F004BDAC2 /* odf_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_conversion_context.h; sourceTree = "<group>"; };
8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_settings.cpp; sourceTree = "<group>"; };
8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_presentation.cpp; sourceTree = "<group>"; };
8AF8AA9522048F9F004BDAC2 /* visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = visitor.h; sourceTree = "<group>"; };
8AF8AA9622048F9F004BDAC2 /* styles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles.h; sourceTree = "<group>"; };
8AF8AA9722048F9F004BDAC2 /* office_text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_text.cpp; sourceTree = "<group>"; };
8AF8AA9822048F9F004BDAC2 /* odf_comment_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_comment_context.h; sourceTree = "<group>"; };
8AF8AA9922048F9F004BDAC2 /* odf_page_layout_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_page_layout_state.h; sourceTree = "<group>"; };
8AF8AA9A22048F9F004BDAC2 /* style_map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_map.h; sourceTree = "<group>"; };
8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_page_state.cpp; sourceTree = "<group>"; };
8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_table_context.cpp; sourceTree = "<group>"; };
8AF8AA9D22048F9F004BDAC2 /* mediaitems_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediaitems_utils.h; sourceTree = "<group>"; };
8AF8AA9E22048F9F004BDAC2 /* odf_chart_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_chart_context.h; sourceTree = "<group>"; };
8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = calcext_elements.cpp; sourceTree = "<group>"; };
8AF8AAA022048F9F004BDAC2 /* odf_page_layout_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_page_layout_context.h; sourceTree = "<group>"; };
8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_page_layout_state.cpp; sourceTree = "<group>"; };
8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_settings_context.cpp; sourceTree = "<group>"; };
8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_page_layout_properties.cpp; sourceTree = "<group>"; };
8AF8AAA422048F9F004BDAC2 /* list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = "<group>"; };
8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_page_layout_context.cpp; sourceTree = "<group>"; };
8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abstract_xml.cpp; sourceTree = "<group>"; };
8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table_named_expressions.cpp; sourceTree = "<group>"; };
8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_notes_context.cpp; sourceTree = "<group>"; };
8AF8AAA922048F9F004BDAC2 /* style_chart_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_chart_properties.h; sourceTree = "<group>"; };
8AF8AAAA22048F9F004BDAC2 /* styles_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles_list.h; sourceTree = "<group>"; };
8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_page.cpp; sourceTree = "<group>"; };
8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = number_style.cpp; sourceTree = "<group>"; };
8AF8AAAD22048F9F004BDAC2 /* office_elements_create.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements_create.h; sourceTree = "<group>"; };
8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_drawing_context.cpp; sourceTree = "<group>"; };
8AF8AAB022048F9F004BDAC2 /* abstract_xml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = abstract_xml.h; sourceTree = "<group>"; };
8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_comment_context.cpp; sourceTree = "<group>"; };
8AF8AAB222048F9F004BDAC2 /* list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = list.cpp; sourceTree = "<group>"; };
8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_style_context.cpp; sourceTree = "<group>"; };
8AF8AAB422048F9F004BDAC2 /* odt_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odt_conversion_context.h; sourceTree = "<group>"; };
8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AAB622048F9F004BDAC2 /* styles.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles.cpp; sourceTree = "<group>"; };
8AF8AAB722048F9F004BDAC2 /* office_body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_body.h; sourceTree = "<group>"; };
8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_presentation.cpp; sourceTree = "<group>"; };
8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_table_styles_context.cpp; sourceTree = "<group>"; };
8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odt_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AABB22048F9F004BDAC2 /* office_spreadsheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_spreadsheet.h; sourceTree = "<group>"; };
8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_slide_context.cpp; sourceTree = "<group>"; };
8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = paragraph_elements.cpp; sourceTree = "<group>"; };
8AF8AABE22048F9F004BDAC2 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_frame.cpp; sourceTree = "<group>"; };
8AF8AAC022048F9F004BDAC2 /* style_text_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_text_properties.h; sourceTree = "<group>"; };
8AF8AAC122048F9F004BDAC2 /* header_footer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = header_footer.h; sourceTree = "<group>"; };
8AF8AAC222048F9F004BDAC2 /* paragraph_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = paragraph_elements.h; sourceTree = "<group>"; };
8AF8AAC322048F9F004BDAC2 /* text_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_elements.h; sourceTree = "<group>"; };
8AF8AAC422048F9F004BDAC2 /* ods_table_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_table_state.h; sourceTree = "<group>"; };
8AF8AAC522048F9F004BDAC2 /* odf_number_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_number_styles_context.h; sourceTree = "<group>"; };
8AF8AAC622048F9F004BDAC2 /* office_text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_text.h; sourceTree = "<group>"; };
8AF8AAC722048F9F004BDAC2 /* object_package.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = object_package.cpp; sourceTree = "<group>"; };
8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_number_styles_context.cpp; sourceTree = "<group>"; };
8AF8AAC922048F9F004BDAC2 /* number_style.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = number_style.h; sourceTree = "<group>"; };
8AF8AACA22048F9F004BDAC2 /* office_body.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_body.cpp; sourceTree = "<group>"; };
8AF8AACB22048F9F004BDAC2 /* table_named_expressions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table_named_expressions.h; sourceTree = "<group>"; };
8AF8AACC22048F9F004BDAC2 /* odf_drawing_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_drawing_context.h; sourceTree = "<group>"; };
8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = header_footer.cpp; sourceTree = "<group>"; };
8AF8AACE22048F9F004BDAC2 /* object_package.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = object_package.h; sourceTree = "<group>"; };
8AF8AACF22048F9F004BDAC2 /* svg_creator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svg_creator.h; sourceTree = "<group>"; };
8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_event_listeners.cpp; sourceTree = "<group>"; };
8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_shapes.cpp; sourceTree = "<group>"; };
8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_lists_styles_context.cpp; sourceTree = "<group>"; };
8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_graphic_properties.cpp; sourceTree = "<group>"; };
8AF8AAD422048F9F004BDAC2 /* odf_settings_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_settings_context.h; sourceTree = "<group>"; };
8AF8AAD522048F9F004BDAC2 /* odp_page_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_page_state.h; sourceTree = "<group>"; };
8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_spreadsheet.cpp; sourceTree = "<group>"; };
8AF8AAD722048F9F004BDAC2 /* office_document.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_document.h; sourceTree = "<group>"; };
8AF8AAD822048F9F004BDAC2 /* odf_lists_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_lists_styles_context.h; sourceTree = "<group>"; };
8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mediaitems_utils.cpp; sourceTree = "<group>"; };
8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_base.cpp; sourceTree = "<group>"; };
8AF8AADB22048F9F004BDAC2 /* odf_table_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_table_styles_context.h; sourceTree = "<group>"; };
8AF8AADC22048F9F004BDAC2 /* odp_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_conversion_context.h; sourceTree = "<group>"; };
8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table_database_ranges.cpp; sourceTree = "<group>"; };
8AF8AADE22048F9F004BDAC2 /* office_presentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_presentation.h; sourceTree = "<group>"; };
8AF8AADF22048F9F004BDAC2 /* odf_style_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_style_context.h; sourceTree = "<group>"; };
8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_style_state.cpp; sourceTree = "<group>"; };
8AF8AAE122048F9F004BDAC2 /* draw_base.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_base.h; sourceTree = "<group>"; };
8AF8AAE322048F9F004BDAC2 /* DocxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocxConverter.h; sourceTree = "<group>"; };
8AF8AAE422048F9F004BDAC2 /* Converter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Converter.cpp; sourceTree = "<group>"; };
8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConverterChart.cpp; sourceTree = "<group>"; };
8AF8AAE622048F9F004BDAC2 /* Converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Converter.h; sourceTree = "<group>"; };
8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XlsxConverter.cpp; sourceTree = "<group>"; };
8AF8AAE822048F9F004BDAC2 /* PptxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PptxConverter.h; sourceTree = "<group>"; };
8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocxConverter.cpp; sourceTree = "<group>"; };
8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PptxConverter.cpp; sourceTree = "<group>"; };
8AF8AAEB22048F9F004BDAC2 /* VmlShapeTypes2Oox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VmlShapeTypes2Oox.h; sourceTree = "<group>"; };
8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvertVml.cpp; sourceTree = "<group>"; };
8AF8AAED22048F9F004BDAC2 /* Oox2OdfConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Oox2OdfConverter.h; sourceTree = "<group>"; };
8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvertDrawing.cpp; sourceTree = "<group>"; };
8AF8AAEF22048F9F004BDAC2 /* XlsxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XlsxConverter.h; sourceTree = "<group>"; };
8AF8AAF022048F9F004BDAC2 /* progressCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = progressCallback.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8AF8AA3522048F12004BDAC2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
8AF8AA2F22048F12004BDAC2 = {
isa = PBXGroup;
children = (
8AF8AA3A22048F12004BDAC2 /* ASCOfficeOdfFileW */,
8AF8AA3922048F12004BDAC2 /* Products */,
);
sourceTree = "<group>";
};
8AF8AA3922048F12004BDAC2 /* Products */ = {
isa = PBXGroup;
children = (
8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */,
);
name = Products;
sourceTree = "<group>";
};
8AF8AA3A22048F12004BDAC2 /* ASCOfficeOdfFileW */ = {
isa = PBXGroup;
children = (
8AC4E6EC220587220044119A /* regex.hpp */,
8AC4E6ED220587530044119A /* regex.hpp */,
8AF8AA4422048F9E004BDAC2 /* source */,
);
path = ASCOfficeOdfFileW;
sourceTree = "<group>";
};
8AF8AA4422048F9E004BDAC2 /* source */ = {
isa = PBXGroup;
children = (
8AF8AA4522048F9E004BDAC2 /* utils.h */,
8AF8AA4622048F9E004BDAC2 /* utils.cpp */,
8AF8AA4722048F9E004BDAC2 /* OdfFormat */,
8AF8AAE222048F9F004BDAC2 /* Oox2OdfConverter */,
8AF8AAF022048F9F004BDAC2 /* progressCallback.h */,
);
name = source;
path = ../../../source;
sourceTree = "<group>";
};
8AF8AA4722048F9E004BDAC2 /* OdfFormat */ = {
isa = PBXGroup;
children = (
8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */,
8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */,
8AF8AA4A22048F9E004BDAC2 /* draw_frame.h */,
8AF8AA4B22048F9E004BDAC2 /* styles_lite_container.h */,
8AF8AA4C22048F9E004BDAC2 /* ods_conversion_context.h */,
8AF8AA4D22048F9E004BDAC2 /* office_scripts.h */,
8AF8AA4E22048F9E004BDAC2 /* draw_page.h */,
8AF8AA4F22048F9E004BDAC2 /* anim_elements.h */,
8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */,
8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */,
8AF8AA5222048F9E004BDAC2 /* style_page_layout_properties.h */,
8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */,
8AF8AA5422048F9E004BDAC2 /* ods_table_context.h */,
8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */,
8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */,
8AF8AA5722048F9E004BDAC2 /* oox_shape_defines.h */,
8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */,
8AF8AA5922048F9E004BDAC2 /* style_section_properties.h */,
8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */,
8AF8AA5B22048F9E004BDAC2 /* odf_table_context.h */,
8AF8AA5C22048F9E004BDAC2 /* logging.cpp */,
8AF8AA5D22048F9E004BDAC2 /* calcext_elements.h */,
8AF8AA5E22048F9E004BDAC2 /* office_elements_type.h */,
8AF8AA5F22048F9E004BDAC2 /* odf_style_state.h */,
8AF8AA6022048F9E004BDAC2 /* odf_rels.h */,
8AF8AA6122048F9E004BDAC2 /* table.cpp */,
8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */,
8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */,
8AF8AA6422048F9E004BDAC2 /* odp_slide_context.h */,
8AF8AA6522048F9E004BDAC2 /* style_map.cpp */,
8AF8AA6622048F9E004BDAC2 /* style_paragraph_properties.h */,
8AF8AA6722048F9E004BDAC2 /* table_database_ranges.h */,
8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */,
8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */,
8AF8AA6A22048F9E004BDAC2 /* odf_text_context.h */,
8AF8AA6B22048F9E004BDAC2 /* odf_notes_context.h */,
8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */,
8AF8AA6D22048F9E004BDAC2 /* office_annotation.h */,
8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */,
8AF8AA6F22048F9E004BDAC2 /* office_chart.h */,
8AF8AA7022048F9E004BDAC2 /* office_document.cpp */,
8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */,
8AF8AA7222048F9E004BDAC2 /* office_event_listeners.h */,
8AF8AA7322048F9E004BDAC2 /* style_table_properties.h */,
8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */,
8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */,
8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */,
8AF8AA7722048F9E004BDAC2 /* office_elements.h */,
8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */,
8AF8AA7922048F9E004BDAC2 /* office_settings.h */,
8AF8AA7A22048F9E004BDAC2 /* Shapes */,
8AF8AA8C22048F9F004BDAC2 /* mediaitems.h */,
8AF8AA8D22048F9F004BDAC2 /* style_presentation.h */,
8AF8AA8E22048F9F004BDAC2 /* style_graphic_properties.h */,
8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */,
8AF8AA9022048F9F004BDAC2 /* draw_shapes.h */,
8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */,
8AF8AA9222048F9F004BDAC2 /* odf_conversion_context.h */,
8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */,
8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */,
8AF8AA9522048F9F004BDAC2 /* visitor.h */,
8AF8AA9622048F9F004BDAC2 /* styles.h */,
8AF8AA9722048F9F004BDAC2 /* office_text.cpp */,
8AF8AA9822048F9F004BDAC2 /* odf_comment_context.h */,
8AF8AA9922048F9F004BDAC2 /* odf_page_layout_state.h */,
8AF8AA9A22048F9F004BDAC2 /* style_map.h */,
8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */,
8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */,
8AF8AA9D22048F9F004BDAC2 /* mediaitems_utils.h */,
8AF8AA9E22048F9F004BDAC2 /* odf_chart_context.h */,
8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */,
8AF8AAA022048F9F004BDAC2 /* odf_page_layout_context.h */,
8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */,
8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */,
8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */,
8AF8AAA422048F9F004BDAC2 /* list.h */,
8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */,
8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */,
8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */,
8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */,
8AF8AAA922048F9F004BDAC2 /* style_chart_properties.h */,
8AF8AAAA22048F9F004BDAC2 /* styles_list.h */,
8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */,
8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */,
8AF8AAAD22048F9F004BDAC2 /* office_elements_create.h */,
8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */,
8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */,
8AF8AAB022048F9F004BDAC2 /* abstract_xml.h */,
8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */,
8AF8AAB222048F9F004BDAC2 /* list.cpp */,
8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */,
8AF8AAB422048F9F004BDAC2 /* odt_conversion_context.h */,
8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */,
8AF8AAB622048F9F004BDAC2 /* styles.cpp */,
8AF8AAB722048F9F004BDAC2 /* office_body.h */,
8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */,
8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */,
8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */,
8AF8AABB22048F9F004BDAC2 /* office_spreadsheet.h */,
8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */,
8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */,
8AF8AABE22048F9F004BDAC2 /* table.h */,
8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */,
8AF8AAC022048F9F004BDAC2 /* style_text_properties.h */,
8AF8AAC122048F9F004BDAC2 /* header_footer.h */,
8AF8AAC222048F9F004BDAC2 /* paragraph_elements.h */,
8AF8AAC322048F9F004BDAC2 /* text_elements.h */,
8AF8AAC422048F9F004BDAC2 /* ods_table_state.h */,
8AF8AAC522048F9F004BDAC2 /* odf_number_styles_context.h */,
8AF8AAC622048F9F004BDAC2 /* office_text.h */,
8AF8AAC722048F9F004BDAC2 /* object_package.cpp */,
8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */,
8AF8AAC922048F9F004BDAC2 /* number_style.h */,
8AF8AACA22048F9F004BDAC2 /* office_body.cpp */,
8AF8AACB22048F9F004BDAC2 /* table_named_expressions.h */,
8AF8AACC22048F9F004BDAC2 /* odf_drawing_context.h */,
8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */,
8AF8AACE22048F9F004BDAC2 /* object_package.h */,
8AF8AACF22048F9F004BDAC2 /* svg_creator.h */,
8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */,
8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */,
8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */,
8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */,
8AF8AAD422048F9F004BDAC2 /* odf_settings_context.h */,
8AF8AAD522048F9F004BDAC2 /* odp_page_state.h */,
8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */,
8AF8AAD722048F9F004BDAC2 /* office_document.h */,
8AF8AAD822048F9F004BDAC2 /* odf_lists_styles_context.h */,
8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */,
8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */,
8AF8AADB22048F9F004BDAC2 /* odf_table_styles_context.h */,
8AF8AADC22048F9F004BDAC2 /* odp_conversion_context.h */,
8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */,
8AF8AADE22048F9F004BDAC2 /* office_presentation.h */,
8AF8AADF22048F9F004BDAC2 /* odf_style_context.h */,
8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */,
8AF8AAE122048F9F004BDAC2 /* draw_base.h */,
);
path = OdfFormat;
sourceTree = "<group>";
};
8AF8AA7A22048F9E004BDAC2 /* Shapes */ = {
isa = PBXGroup;
children = (
8AF8AA7B22048F9E004BDAC2 /* oox_shapePrimitives.h */,
8AF8AA7C22048F9E004BDAC2 /* oox_shapeBents.h */,
8AF8AA7D22048F9E004BDAC2 /* oox_shapeConnectors.h */,
8AF8AA7E22048F9E004BDAC2 /* oox_shapeCallouts.h */,
8AF8AA7F22048F9E004BDAC2 /* oox_shapeCharts.h */,
8AF8AA8022048F9E004BDAC2 /* oox_shapeArrows.h */,
8AF8AA8122048F9E004BDAC2 /* oox_shapeWordArt.h */,
8AF8AA8222048F9E004BDAC2 /* oox_shapeCurvedArrows.h */,
8AF8AA8322048F9E004BDAC2 /* oox_shapeStars.h */,
8AF8AA8422048F9F004BDAC2 /* oox_shapeActionButtons.h */,
8AF8AA8522048F9F004BDAC2 /* oox_shapeCustoms.h */,
8AF8AA8622048F9F004BDAC2 /* oox_shapeSnipRoundRects.h */,
8AF8AA8722048F9F004BDAC2 /* odf_shape_mapping.h */,
8AF8AA8822048F9F004BDAC2 /* oox_shapeCurvedConnectors.h */,
8AF8AA8922048F9F004BDAC2 /* oox_shapeMaths.h */,
8AF8AA8A22048F9F004BDAC2 /* oox_shapeRibbons.h */,
8AF8AA8B22048F9F004BDAC2 /* oox_shapeAccentCallouts.h */,
);
path = Shapes;
sourceTree = "<group>";
};
8AF8AAE222048F9F004BDAC2 /* Oox2OdfConverter */ = {
isa = PBXGroup;
children = (
8AF8AAE322048F9F004BDAC2 /* DocxConverter.h */,
8AF8AAE422048F9F004BDAC2 /* Converter.cpp */,
8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */,
8AF8AAE622048F9F004BDAC2 /* Converter.h */,
8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */,
8AF8AAE822048F9F004BDAC2 /* PptxConverter.h */,
8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */,
8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */,
8AF8AAEB22048F9F004BDAC2 /* VmlShapeTypes2Oox.h */,
8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */,
8AF8AAED22048F9F004BDAC2 /* Oox2OdfConverter.h */,
8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */,
8AF8AAEF22048F9F004BDAC2 /* XlsxConverter.h */,
);
path = Oox2OdfConverter;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8AF8AA3722048F12004BDAC2 /* ASCOfficeOdfFileW */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8AF8AA4122048F12004BDAC2 /* Build configuration list for PBXNativeTarget "ASCOfficeOdfFileW" */;
buildPhases = (
8AF8AA3422048F12004BDAC2 /* Sources */,
8AF8AA3522048F12004BDAC2 /* Frameworks */,
8AF8AA3622048F12004BDAC2 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = ASCOfficeOdfFileW;
productName = ASCOfficeOdfFileW;
productReference = 8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
8AF8AA3022048F12004BDAC2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1010;
ORGANIZATIONNAME = "Alexey Musinov";
TargetAttributes = {
8AF8AA3722048F12004BDAC2 = {
CreatedOnToolsVersion = 10.1;
};
};
};
buildConfigurationList = 8AF8AA3322048F12004BDAC2 /* Build configuration list for PBXProject "ASCOfficeOdfFileW" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 8AF8AA2F22048F12004BDAC2;
productRefGroup = 8AF8AA3922048F12004BDAC2 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
8AF8AA3722048F12004BDAC2 /* ASCOfficeOdfFileW */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
8AF8AA3422048F12004BDAC2 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8AF8AB3C22048F9F004BDAC2 /* DocxConverter.cpp in Sources */,
8AF8AAF522048F9F004BDAC2 /* utils.cpp in Sources */,
8AF8AB2522048F9F004BDAC2 /* styles.cpp in Sources */,
8AF8AB0B22048F9F004BDAC2 /* style_section_properties.cpp in Sources */,
8AF8AAFD22048F9F004BDAC2 /* odf_chart_context.cpp in Sources */,
8AF8AB2222048F9F004BDAC2 /* list.cpp in Sources */,
8AF8AB1C22048F9F004BDAC2 /* odf_notes_context.cpp in Sources */,
8AF8AB3622048F9F004BDAC2 /* draw_base.cpp in Sources */,
8AF8AB0022048F9F004BDAC2 /* table.cpp in Sources */,
8AF8AB1022048F9F004BDAC2 /* office_settings.cpp in Sources */,
8AF8AB0E22048F9F004BDAC2 /* odf_text_context.cpp in Sources */,
8AF8AB2922048F9F004BDAC2 /* odp_slide_context.cpp in Sources */,
8AF8AAFC22048F9F004BDAC2 /* oox_shape_defines.cpp in Sources */,
8AF8AB1322048F9F004BDAC2 /* odp_page_state.cpp in Sources */,
8AF8AB2B22048F9F004BDAC2 /* draw_frame.cpp in Sources */,
8AF8AB3F22048F9F004BDAC2 /* ConvertDrawing.cpp in Sources */,
8AF8AB0222048F9F004BDAC2 /* odf_table_context.cpp in Sources */,
8AF8AB3122048F9F004BDAC2 /* draw_shapes.cpp in Sources */,
8AF8AB3922048F9F004BDAC2 /* Converter.cpp in Sources */,
8AF8AB1B22048F9F004BDAC2 /* table_named_expressions.cpp in Sources */,
8AF8AAFE22048F9F004BDAC2 /* style_text_properties.cpp in Sources */,
8AF8AB3222048F9F004BDAC2 /* odf_lists_styles_context.cpp in Sources */,
8AF8AB0722048F9F004BDAC2 /* style_paragraph_properties.cpp in Sources */,
8AF8AB1922048F9F004BDAC2 /* odf_page_layout_context.cpp in Sources */,
8AF8AB0422048F9F004BDAC2 /* office_scripts.cpp in Sources */,
8AF8AB0622048F9F004BDAC2 /* styles_lite_container.cpp in Sources */,
8AF8AAF722048F9F004BDAC2 /* office_annotation.cpp in Sources */,
8AF8AB0822048F9F004BDAC2 /* office_document.cpp in Sources */,
8AF8AB3B22048F9F004BDAC2 /* XlsxConverter.cpp in Sources */,
8AF8AB2722048F9F004BDAC2 /* odf_table_styles_context.cpp in Sources */,
8AF8AB0322048F9F004BDAC2 /* style_map.cpp in Sources */,
8AF8AB3D22048F9F004BDAC2 /* PptxConverter.cpp in Sources */,
8AF8AB3022048F9F004BDAC2 /* office_event_listeners.cpp in Sources */,
8AF8AB1F22048F9F004BDAC2 /* odp_conversion_context.cpp in Sources */,
8AF8AB2322048F9F004BDAC2 /* odf_style_context.cpp in Sources */,
8AF8AAF622048F9F004BDAC2 /* text_elements.cpp in Sources */,
8AF8AB0D22048F9F004BDAC2 /* odf_conversion_context.cpp in Sources */,
8AF8AB1522048F9F004BDAC2 /* calcext_elements.cpp in Sources */,
8AF8AB2C22048F9F004BDAC2 /* object_package.cpp in Sources */,
8AF8AAFA22048F9F004BDAC2 /* ods_table_state.cpp in Sources */,
8AF8AB2F22048F9F004BDAC2 /* header_footer.cpp in Sources */,
8AF8AB3522048F9F004BDAC2 /* mediaitems_utils.cpp in Sources */,
8AF8AB3822048F9F004BDAC2 /* odf_style_state.cpp in Sources */,
8AF8AB2422048F9F004BDAC2 /* ods_conversion_context.cpp in Sources */,
8AF8AB3722048F9F004BDAC2 /* table_database_ranges.cpp in Sources */,
8AF8AB2D22048F9F004BDAC2 /* odf_number_styles_context.cpp in Sources */,
8AF8AB2022048F9F004BDAC2 /* odf_drawing_context.cpp in Sources */,
8AF8AB1622048F9F004BDAC2 /* odf_page_layout_state.cpp in Sources */,
8AF8AB3322048F9F004BDAC2 /* style_graphic_properties.cpp in Sources */,
8AF8AB3A22048F9F004BDAC2 /* ConverterChart.cpp in Sources */,
8AF8AB3E22048F9F004BDAC2 /* ConvertVml.cpp in Sources */,
8AF8AAF922048F9F004BDAC2 /* svg_creator.cpp in Sources */,
8AF8AB1D22048F9F004BDAC2 /* draw_page.cpp in Sources */,
8AF8AB3422048F9F004BDAC2 /* office_spreadsheet.cpp in Sources */,
8AF8AB2122048F9F004BDAC2 /* odf_comment_context.cpp in Sources */,
8AF8AB1E22048F9F004BDAC2 /* number_style.cpp in Sources */,
8AF8AB2E22048F9F004BDAC2 /* office_body.cpp in Sources */,
8AF8AAFB22048F9F004BDAC2 /* style_chart_properties.cpp in Sources */,
8AF8AAFF22048F9F004BDAC2 /* logging.cpp in Sources */,
8AF8AB0122048F9F004BDAC2 /* office_chart.cpp in Sources */,
8AF8AB1422048F9F004BDAC2 /* ods_table_context.cpp in Sources */,
8AF8AB1A22048F9F004BDAC2 /* abstract_xml.cpp in Sources */,
8AF8AB2A22048F9F004BDAC2 /* paragraph_elements.cpp in Sources */,
8AF8AB1822048F9F004BDAC2 /* style_page_layout_properties.cpp in Sources */,
8AF8AAF822048F9F004BDAC2 /* style_table_properties.cpp in Sources */,
8AF8AB1122048F9F004BDAC2 /* style_presentation.cpp in Sources */,
8AF8AB2822048F9F004BDAC2 /* odt_conversion_context.cpp in Sources */,
8AF8AB0F22048F9F004BDAC2 /* mediaitems.cpp in Sources */,
8AF8AB0522048F9F004BDAC2 /* styles_list.cpp in Sources */,
8AF8AB0922048F9F004BDAC2 /* anim_elements.cpp in Sources */,
8AF8AB1722048F9F004BDAC2 /* odf_settings_context.cpp in Sources */,
8AF8AB0C22048F9F004BDAC2 /* office_elements_create.cpp in Sources */,
8AF8AB2622048F9F004BDAC2 /* office_presentation.cpp in Sources */,
8AF8AB1222048F9F004BDAC2 /* office_text.cpp in Sources */,
8AF8AB0A22048F9F004BDAC2 /* odf_rels.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
8AF8AA3F22048F12004BDAC2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
};
8AF8AA4022048F12004BDAC2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
8AF8AA4222048F12004BDAC2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 2WH24U26GJ;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
DONT_WRITE_EMBEDDED_FONTS,
MAC,
unix,
_IOS,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/include",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/src/odf/datatypes",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
8AF8AA4322048F12004BDAC2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 2WH24U26GJ;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
DONT_WRITE_EMBEDDED_FONTS,
MAC,
unix,
_IOS,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/include",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/src/odf/datatypes",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
8AF8AA3322048F12004BDAC2 /* Build configuration list for PBXProject "ASCOfficeOdfFileW" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8AF8AA3F22048F12004BDAC2 /* Debug */,
8AF8AA4022048F12004BDAC2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8AF8AA4122048F12004BDAC2 /* Build configuration list for PBXNativeTarget "ASCOfficeOdfFileW" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8AF8AA4222048F12004BDAC2 /* Debug */,
8AF8AA4322048F12004BDAC2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 8AF8AA3022048F12004BDAC2 /* Project object */;
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:ASCOfficeOdfFileW.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1 @@
DO NOT REMOVE FOLDER FOR XCODE

View File

@ -660,24 +660,28 @@ namespace NSBinPptxRW
m_oReader.m_pRels->SaveRels(pathFileRels.GetPath());
}
}
// app
CreateDefaultApp();
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::App);
if (m_mainTables.end() != pPair)
{
m_oReader.Seek(pPair->second);
m_oApp.fromPPTY(&m_oReader);
SetRequiredDefaultsApp();
}
// core
CreateDefaultCore();
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::Core);
if (m_mainTables.end() != pPair)
{
m_oReader.Seek(pPair->second);
m_oCore.fromPPTY(&m_oReader);
SetRequiredDefaultsCore();
}
if (false)
{
// app
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::App);
if (m_mainTables.end() != pPair)
{
m_oReader.Seek(pPair->second);
m_oApp.fromPPTY(&m_oReader);
}
// core
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::Core);
if (m_mainTables.end() != pPair)
{
m_oReader.Seek(pPair->second);
m_oCore.fromPPTY(&m_oReader);
}
// tableStyles
pPair = m_mainTables.find(NSBinPptxRW::NSMainTables::TableStyles);
if (m_mainTables.end() != pPair)
@ -706,9 +710,6 @@ namespace NSBinPptxRW
else
{
// create default
CreateDefaultApp();
CreateDefaultCore();
CreateDefaultViewProps();
// presProps
@ -1028,18 +1029,24 @@ namespace NSBinPptxRW
m_oReader.Seek(_end_rec);
}
void CreateDefaultApp()
void SetRequiredDefaultsApp()
{
m_oApp.TotalTime = 0;
m_oApp.Words = 0;
m_oApp.AppVersion.reset(NULL);
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
#if defined(INTVER)
std::string s = VALUE2STR(INTVER);
sApplication += L"/" + std::wstring(s.begin(), s.end());
std::string s = VALUE2STR(INTVER);
sApplication += L"/" + std::wstring(s.begin(), s.end());
#endif
m_oApp.Application = sApplication;
}
void CreateDefaultApp()
{
m_oApp.TotalTime = 0;
m_oApp.Words = 0;
SetRequiredDefaultsApp();
m_oApp.PresentationFormat = L"On-screen Show (4:3)";
m_oApp.Paragraphs = 0;
m_oApp.Slides = (int)m_arSlides.size();
@ -1082,6 +1089,15 @@ namespace NSBinPptxRW
m_oApp.SharedDoc = false;
m_oApp.HyperlinksChanged = false;
}
void SetRequiredDefaultsCore()
{
std::wstring sCreator = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvCreator);
if (!sCreator.empty())
m_oCore.creator = sCreator;
std::wstring sLastModifiedBy = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvLastModifiedBy);
if (!sLastModifiedBy.empty())
m_oCore.lastModifiedBy = sLastModifiedBy;
}
void CreateDefaultCore()
{
m_oCore.creator = _T("");

View File

@ -531,6 +531,12 @@ namespace NSBinPptxRW
WriteString(val);
WriteNodeEnd(strNodeName);
}
AVSINLINE void WriteNodeValue2(const std::wstring& strNodeName, const std::wstring& val)
{
WriteNodeBegin(strNodeName);
WriteStringXML(val);
WriteNodeEnd(strNodeName);
}
AVSINLINE void WriteNodeValue(const std::wstring& strNodeName, const bool& val)
{
WriteNodeBegin(strNodeName);
@ -663,6 +669,11 @@ namespace NSBinPptxRW
if (value.IsInit())
WriteNodeValue(strName, *value);
}
AVSINLINE void WriteNodeValue2(const std::wstring& strName, const nullable_string& value)
{
if (value.IsInit())
WriteNodeValue2(strName, *value);
}
AVSINLINE void WriteNodeValue(const std::wstring& strName, const nullable_bool& value)
{
if (value.IsInit())

View File

@ -65,8 +65,12 @@ namespace PPTX
XmlMacroReadNodeValueBase(oNode, L"Template", Template);
XmlMacroReadNodeValueBase(oNode, L"TotalTime", TotalTime);
XmlMacroReadNodeValueBase(oNode, L"Pages", Pages);
XmlMacroReadNodeValueBase(oNode, L"Words", Words);
XmlMacroReadNodeValueBase(oNode, L"Characters", Characters);
XmlMacroReadNodeValueBase(oNode, L"Application", Application);
XmlMacroReadNodeValueBase(oNode, L"DocSecurity", DocSecurity);
XmlMacroReadNodeValueBase(oNode, L"Lines", Lines);
XmlMacroReadNodeValueBase(oNode, L"PresentationFormat", PresentationFormat);
XmlMacroReadNodeValueBase(oNode, L"Paragraphs", Paragraphs);
XmlMacroReadNodeValueBase(oNode, L"Slides", Slides);
@ -91,21 +95,16 @@ namespace PPTX
XmlMacroLoadArray(oNodeVector2, _T("vt:variant"), TitlesOfParts, Logic::PartTitle);
}
XmlMacroReadNodeValueBase(oNode, L"Manager", Manager);
XmlMacroReadNodeValueBase(oNode, L"Company", Company);
XmlMacroReadNodeValueBase(oNode, L"LinksUpToDate", LinksUpToDate);
XmlMacroReadNodeValueBase(oNode, L"CharactersWithSpaces", CharactersWithSpaces);
XmlMacroReadNodeValueBase(oNode, L"SharedDoc", SharedDoc);
XmlMacroReadNodeValueBase(oNode, L"HyperlinkBase", HyperlinkBase);
XmlMacroReadNodeValueBase(oNode, L"HyperlinksChanged", HyperlinksChanged);
XmlMacroReadNodeValueBase(oNode, L"AppVersion", AppVersion);
//Characters = document.Root.element("Characters").text();
//CharactersWithSpaces = document.Root.element("CharactersWithSpaces").text();
//DigSig (Digital Signature)
//DocSecurity = document.Root.element("DocSecurity").text();
//HLinks
//HyperlinkBase = document.Root.element("HyperlinkBase").text();
//Lines = document.Root.element("Lines").text();
//Manager = document.Root.element("Manager").text();
//Pages = document.Root.element("Pages").text();
Normalize();
}
@ -153,7 +152,98 @@ namespace PPTX
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
//start new record because new attributes is incompatible with previous versions
pWriter->StartRecord(0);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(16, Characters);
pWriter->WriteInt2(17, CharactersWithSpaces);
pWriter->WriteInt2(18, DocSecurity);
pWriter->WriteString2(19, HyperlinkBase);
pWriter->WriteInt2(20, Lines);
pWriter->WriteString2(21, Manager);
pWriter->WriteInt2(22, Pages);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
pWriter->EndRecord();
}
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader)
{
LONG _end_rec = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (true)
{
BYTE _at = pReader->GetUChar_TypeNode();
if (_at == NSBinPptxRW::g_nodeAttributeEnd)
break;
switch (_at)
{
case 0: Template = pReader->GetString2(); break;
case 1: Application = pReader->GetString2(); break;
case 2: PresentationFormat = pReader->GetString2(); break;
case 3: Company = pReader->GetString2(); break;
case 4: AppVersion = pReader->GetString2(); break;
case 5: TotalTime = pReader->GetULong(); break;
case 6: Words = pReader->GetULong(); break;
case 7: Paragraphs = pReader->GetULong(); break;
case 8: Slides = pReader->GetULong(); break;
case 9: Notes = pReader->GetULong(); break;
case 10: HiddenSlides = pReader->GetULong(); break;
case 11: MMClips = pReader->GetULong(); break;
case 12: ScaleCrop = pReader->GetBool(); break;
case 13: LinksUpToDate = pReader->GetBool(); break;
case 14: SharedDoc = pReader->GetBool(); break;
case 15: HyperlinksChanged = pReader->GetBool(); break;
default: break;
}
}
while (pReader->GetPos() < _end_rec)
{
BYTE _at = pReader->GetUChar();
switch (_at)
{
case 0:
{
LONG _end_rec2 = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (true)
{
BYTE _at = pReader->GetUChar_TypeNode();
if (_at == NSBinPptxRW::g_nodeAttributeEnd)
break;
switch (_at)
{
case 16: Characters = pReader->GetULong(); break;
case 17: CharactersWithSpaces = pReader->GetULong(); break;
case 18: DocSecurity = pReader->GetULong(); break;
case 19: HyperlinkBase = pReader->GetString2(); break;
case 20: Lines = pReader->GetULong(); break;
case 21: Manager = pReader->GetString2(); break;
case 22: Pages = pReader->GetULong(); break;
default: break;
}
}
pReader->Seek(_end_rec2);
}
break;
default:
{
pReader->SkipRecord();
break;
}
}
}
pReader->Seek(_end_rec);
}
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const
{
@ -166,11 +256,16 @@ namespace PPTX
pWriter->EndAttributes();
pWriter->WriteNodeValue(_T("Template"), Template);
pWriter->WriteNodeValue2(_T("Template"), Template);
pWriter->WriteNodeValue(_T("TotalTime"), TotalTime);
pWriter->WriteNodeValue(_T("Pages"), Pages);
pWriter->WriteNodeValue(_T("Words"), Words);
pWriter->WriteNodeValue(_T("Application"), Application);
pWriter->WriteNodeValue(_T("PresentationFormat"), PresentationFormat);
pWriter->WriteNodeValue(_T("Characters"), Characters);
pWriter->WriteNodeValue(_T("CharactersWithSpaces"), CharactersWithSpaces);
pWriter->WriteNodeValue2(_T("Application"), Application);
pWriter->WriteNodeValue(_T("DocSecurity"), DocSecurity);
pWriter->WriteNodeValue2(_T("PresentationFormat"), PresentationFormat);
pWriter->WriteNodeValue(_T("Lines"), Lines);
pWriter->WriteNodeValue(_T("Paragraphs"), Paragraphs);
pWriter->WriteNodeValue(_T("Slides"), Slides);
pWriter->WriteNodeValue(_T("Notes"), Notes);
@ -206,11 +301,13 @@ namespace PPTX
pWriter->EndNode(_T("vt:vector"));
pWriter->EndNode(_T("TitlesOfParts"));
pWriter->WriteNodeValue(_T("Company"), Company);
pWriter->WriteNodeValue2(_T("Manager"), Manager);
pWriter->WriteNodeValue2(_T("Company"), Company);
pWriter->WriteNodeValue(_T("LinksUpToDate"), LinksUpToDate);
pWriter->WriteNodeValue(_T("SharedDoc"), SharedDoc);
pWriter->WriteNodeValue2(_T("HyperlinkBase"), HyperlinkBase);
pWriter->WriteNodeValue(_T("HyperlinksChanged"), HyperlinksChanged);
pWriter->WriteNodeValue(_T("AppVersion"), AppVersion);
pWriter->WriteNodeValue2(_T("AppVersion"), AppVersion);
pWriter->EndNode(_T("Properties"));
}
@ -235,15 +332,16 @@ namespace PPTX
nullable_bool HyperlinksChanged; // (Hyperlinks Changed)
nullable_string AppVersion; // (Application Version)
//nullable_property<int, setter::only_positive<int> > Characters; // (Total Number of Characters)
//nullable_property<int, setter::only_positive<int> > CharactersWithSpaces; // (Number of Characters (With Spaces))
nullable_int Characters; // (Total Number of Characters)
nullable_int CharactersWithSpaces; // (Number of Characters (With Spaces))
nullable_int DocSecurity; // (Document Security)
nullable_string HyperlinkBase; // (Relative Hyperlink Base)
nullable_int Lines; // (Number of Lines)
nullable_string Manager; // (Name of Manager)
nullable_int Pages; // (Total Number of Pages)
//DigSig (Digital Signature)
//nullable_property<int, setter::only_positive<int> > DocSecurity; // (Document Security)
//std::list<std::string> - ??? HLinks; // (Hyperlink List)
//nullable_property<std::string> HyperlinkBase; // (Relative Hyperlink Base)
//nullable_property<int, setter::only_positive<int> > Lines; // (Number of Lines)
//nullable_property<std::string> Manager; // (Name of Manager)
//nullable_property<int, setter::only_positive<int> > Pages; // (Total Number of Pages)
private:
nullable_int m_VectorSize;
nullable_int m_Headings;
@ -259,6 +357,11 @@ namespace PPTX
MMClips.normalize_positive();
m_VectorSize.normalize_positive();
m_Headings.normalize_positive();
Characters.normalize_positive();
CharactersWithSpaces.normalize_positive();
DocSecurity.normalize_positive();
Lines.normalize_positive();
Pages.normalize_positive();
}
};
} // namespace PPTX

View File

@ -61,26 +61,25 @@ namespace PPTX
XmlUtils::CXmlNode oNode;
oNode.FromXmlFile(filename.m_strFilename);
XmlMacroReadNodeValueBase(oNode, _T("dc:title"), title);
XmlMacroReadNodeValueBase(oNode, _T("dc:creator"), creator);
XmlMacroReadNodeValueBase(oNode, _T("cp:lastModifiedBy"), lastModifiedBy);
XmlMacroReadNodeValueBase(oNode, _T("cp:revision"), revision);
XmlMacroReadNodeValueBase(oNode, _T("dcterms:modified"), modified);
XmlMacroReadNodeValueBase(oNode, _T("cp:category"), category);
XmlMacroReadNodeValueBase(oNode, _T("cp:contentStatus"), contentStatus);
XmlMacroReadNodeValueBase(oNode, _T("dcterms:created"), created);
// created = PPTX::DateTime::Parse(document.Root.element("created").text().ToString());
// modified = PPTX::DateTime::Parse(document.Root.element("modified").text().ToString());
/*
category = document.Root.element("category").text();
contentStatus = document.Root.element("contentStatus").text();
description = document.Root.element("description").text();
//identifier - ???
// keywords = document.Root.element("keywords").text();
language = document.Root.element("language").text();
// lastPrinted = PPTX::DateTime::Parse(document.Root.element("lastPrinted").text().ToString());
subject = document.Root.element("subject").text();
version = document.Root.element("version").text();
*/
//created = PPTX::DateTime::Parse(document.Root.element("created").text().ToString());
XmlMacroReadNodeValueBase(oNode, _T("dc:creator"), creator);
XmlMacroReadNodeValueBase(oNode, _T("dc:description"), description);
XmlMacroReadNodeValueBase(oNode, _T("dc:identifier"), identifier);
//todo keywords is complex by spec there is no real example
XmlMacroReadNodeValueBase(oNode, _T("cp:keywords"), keywords);
XmlMacroReadNodeValueBase(oNode, _T("dc:language"), language);
XmlMacroReadNodeValueBase(oNode, _T("cp:lastModifiedBy"), lastModifiedBy);
XmlMacroReadNodeValueBase(oNode, _T("cp:lastPrinted"), lastPrinted);
//lastPrinted = PPTX::DateTime::Parse(document.Root.element("lastPrinted").text().ToString());
XmlMacroReadNodeValueBase(oNode, _T("dcterms:modified"), modified);
//modified = PPTX::DateTime::Parse(document.Root.element("modified").text().ToString());
XmlMacroReadNodeValueBase(oNode, _T("cp:revision"), revision);
XmlMacroReadNodeValueBase(oNode, _T("dc:subject"), subject);
XmlMacroReadNodeValueBase(oNode, _T("dc:title"), title);
XmlMacroReadNodeValueBase(oNode, _T("cp:version"), title);
}
virtual void write(const OOX::CPath& filename, const OOX::CPath& directory, OOX::CContentTypes& content)const
{
@ -116,7 +115,91 @@ namespace PPTX
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
//start new record because new attributes is incompatible with previous versions
pWriter->StartRecord(0);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteString2(6, category);
pWriter->WriteString2(7, contentStatus);
pWriter->WriteString2(8, description);
pWriter->WriteString2(9, identifier);
pWriter->WriteString2(10, keywords);
pWriter->WriteString2(11, language);
pWriter->WriteString2(12, lastPrinted);
pWriter->WriteString2(13, subject);
pWriter->WriteString2(14, version);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
pWriter->EndRecord();
}
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader)
{
LONG _end_rec = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (true)
{
BYTE _at = pReader->GetUChar_TypeNode();
if (_at == NSBinPptxRW::g_nodeAttributeEnd)
break;
switch (_at)
{
case 0: title = pReader->GetString2(); break;
case 1: creator = pReader->GetString2(); break;
case 2: lastModifiedBy = pReader->GetString2(); break;
case 3: revision = pReader->GetString2(); break;
case 4: created = pReader->GetString2(); break;
case 5: modified = pReader->GetString2(); break;
default: break;
}
}
while (pReader->GetPos() < _end_rec)
{
BYTE _at = pReader->GetUChar();
switch (_at)
{
case 0:
{
LONG _end_rec2 = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (true)
{
BYTE _at = pReader->GetUChar_TypeNode();
if (_at == NSBinPptxRW::g_nodeAttributeEnd)
break;
switch (_at)
{
case 6: category = pReader->GetString2(); break;
case 7: contentStatus = pReader->GetString2(); break;
case 8: description = pReader->GetString2(); break;
case 9: identifier = pReader->GetString2(); break;
case 10: keywords = pReader->GetString2(); break;
case 11: language = pReader->GetString2(); break;
case 12: lastPrinted = pReader->GetString2(); break;
case 13: subject = pReader->GetString2(); break;
case 14: version = pReader->GetString2(); break;
}
}
pReader->Seek(_end_rec2);
}
break;
default:
{
pReader->SkipRecord();
break;
}
}
}
pReader->Seek(_end_rec);
}
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const
{
@ -131,37 +214,44 @@ namespace PPTX
pWriter->EndAttributes();
pWriter->WriteNodeValue(_T("dc:title"), title);
pWriter->WriteNodeValue(_T("dc:creator"), creator);
pWriter->WriteNodeValue(_T("cp:lastModifiedBy"), lastModifiedBy);
pWriter->WriteNodeValue(_T("cp:revision"), revision);
pWriter->WriteNodeValue2(_T("dc:title"), title);
pWriter->WriteNodeValue2(_T("dc:subject"), title);
pWriter->WriteNodeValue2(_T("dc:creator"), creator);
pWriter->WriteNodeValue2(_T("cp:keywords"), keywords);
pWriter->WriteNodeValue2(_T("dc:description"), description);
pWriter->WriteNodeValue2(_T("dc:identifier"), identifier);
pWriter->WriteNodeValue2(_T("dc:language"), language);
pWriter->WriteNodeValue2(_T("cp:lastModifiedBy"), lastModifiedBy);
pWriter->WriteNodeValue2(_T("cp:revision"), revision);
pWriter->WriteNodeValue2(_T("cp:lastPrinted"), lastPrinted);
pWriter->WriteNodeValue2(_T("dcterms:created xsi:type=\"dcterms:W3CDTF\""), created);
pWriter->WriteNodeValue2(_T("dcterms:modified xsi:type=\"dcterms:W3CDTF\""), modified);
pWriter->WriteNodeValue2(_T("cp:category"), revision);
pWriter->WriteNodeValue2(_T("cp:contentStatus"), revision);
pWriter->WriteNodeValue2(_T("cp:version"), revision);
pWriter->WriteNodeValue(_T("dcterms:created xsi:type=\"dcterms:W3CDTF\""), created);
pWriter->WriteNodeValue(_T("dcterms:modified xsi:type=\"dcterms:W3CDTF\""), modified);
pWriter->EndNode(_T("cp:coreProperties"));
}
public:
nullable_string title;
nullable_string creator;
nullable_string lastModifiedBy;
nullable_string revision;
// nullable_property<PPTX::DateTime> created;
nullable_string category;
nullable_string contentStatus;
//nullable_property<std::string, Limit::ContentStatus> contentStatus;
nullable_string created;
// nullable_property<PPTX::DateTime> modified;
//nullable_property<PPTX::DateTime> created;
nullable_string creator;
nullable_string description;
nullable_string identifier;
nullable_string keywords;
nullable_string language;
nullable_string lastModifiedBy;
nullable_string lastPrinted;
nullable_string modified;
/*
nullable_property<std::string> category;
nullable_property<std::string, Limit::ContentStatus> contentStatus;
nullable_property<std::string> description;
//identifier - ???
// nullable_property<std::string> keywords;
nullable_property<std::string> language;
nullable_property<PPTX::DateTime> lastPrinted;
nullable_property<std::string> subject;
nullable_property<std::string> version;
*/
//nullable_property<PPTX::DateTime> modified;
nullable_string revision;
nullable_string subject;
nullable_string title;
nullable_string version;
};
} // namespace PPTX

656
Common/3dParty/boost/boost_ios.sh Executable file
View File

@ -0,0 +1,656 @@
#===============================================================================
#
# Builds a Boost framework for iOS, iOS Simulator, and OSX.
# Creates a set of universal libraries that can be used on an iOS and in the
# iOS simulator. Then creates a pseudo-framework to make using boost in Xcode
# less painful.
#
# To configure the script, define:
# BOOST_VERSION: Which version of Boost to build (e.g. 1.58.0)
# BOOST_VERSION2: Same as BOOST_VERSION, but with _ instead of . (e.g. 1_58_0)
# BOOST_LIBS: Which Boost libraries to build
# MIN_IOS_VERSION: Minimum iOS Target Version (e.g. 8.0)
# IOS_SDK_VERSION: iOS SDK version (e.g. 9.0)
# OSX_SDK_VERSION: OSX SDK version (e.g. 10.11)
#
# If a boost tarball does not exist in the current directory, this script will
# attempt to download the version specified by BOOST_VERSION. You may also
# manually place a matching tarball in the current directory and the script
# will use that.
#
#===============================================================================
BOOST_LIBS="atomic chrono date_time exception filesystem program_options random signals system test thread regex"
BUILD_IOS=
BUILD_OSX=
CLEAN=
NO_CLEAN=
NO_FRAMEWORK=
BOOST_VERSION=1.58.0
BOOST_VERSION2=1_58_0
MIN_IOS_VERSION=8.0
IOS_SDK_VERSION=`xcodebuild -showsdks | grep iphoneos | \
egrep "[[:digit:]]+\.[[:digit:]]+" -o | tail -1`
OSX_SDK_VERSION=`xcodebuild -showsdks | grep macosx | \
egrep "[[:digit:]]+\.[[:digit:]]+" -o | tail -1`
XCODE_ROOT=`xcode-select -print-path`
# The EXTRA_CPPFLAGS definition works around a thread race issue in
# shared_ptr. I encountered this historically and have not verified that
# the fix is no longer required. Without using the posix thread primitives
# an invalid compare-and-swap ARM instruction (non-thread-safe) was used for the
# shared_ptr use count causing nasty and subtle bugs.
#
# Should perhaps also consider/use instead: -BOOST_SP_USE_PTHREADS
EXTRA_CPPFLAGS="-DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS -g -DNDEBUG \
-std=c++11 -stdlib=libc++ -fvisibility=hidden -fvisibility-inlines-hidden"
EXTRA_IOS_CPPFLAGS="$EXTRA_CPPFLAGS -mios-version-min=$MIN_IOS_VERSION"
EXTRA_OSX_CPPFLAGS="$EXTRA_CPPFLAGS"
TARBALLDIR=`pwd`
SRCDIR=$TARBALLDIR
IOSOUTPUTDIR=$TARBALLDIR/ios
OSXOUTPUTDIR=$TARBALLDIR/osx
IOSBUILDDIR=$IOSOUTPUTDIR/build
OSXBUILDDIR=$OSXOUTPUTDIR/build
PREFIXDIR=$IOSOUTPUTDIR/prefix
IOSFRAMEWORKDIR=$IOSOUTPUTDIR/framework
OSXFRAMEWORKDIR=$OSXOUTPUTDIR/framework
BOOST_TARBALL=$TARBALLDIR/boost_$BOOST_VERSION2.tar.bz2
BOOST_SRC=$SRCDIR/boost_${BOOST_VERSION2}
ARM_DEV_CMD="xcrun --sdk iphoneos"
SIM_DEV_CMD="xcrun --sdk iphonesimulator"
OSX_DEV_CMD="xcrun --sdk macosx"
#===============================================================================
# Functions
#===============================================================================
usage()
{
cat << EOF
usage: $0 options
Build Boost for iOS, iOS Simulator, and OS X
OPTIONS:
-h, -\? | --help
Display these options and exit.
--boost-version
Specify which version of Boost to build. Defaults to $BOOST_VERSION.
-ios
Build for the iOS platform. May be used in conjunction with -osx.
If neither -ios nor -osx are specified, both are built.
-osx
Build for the OS X platform. May be used in conjunction with -ios.
If neither -ios nor -osx are specified, both are built.
--ios-sdk [num]
Specify the iOS SDK version to build with. Defaults to $IOS_SDK_VERSION.
--min-ios-version [num]
Specify the minimum iOS version to target. Defaults to $MIN_IOS_VERSION.
--osx-sdk [num]
Specify the OS X SDK version to build with. Defaults to $OSX_SDK_VERSION.
--no-framework
Do not create the framework.
--clean
Just clean up build artifacts, but don't actually build anything.
--no-clean
Do not clean up existing build artifacts before building.
EOF
}
abort()
{
echo
echo "Aborted: $@"
exit 1
}
die()
{
usage
exit 1
}
missingParameter()
{
echo $1 requires a parameter
die
}
unknownParameter()
{
if [[ -n $2 && $2 != "" ]]; then
echo Unknown argument \"$2\" for parameter $1.
else
echo Unknown argument $1
fi
die
}
parseArgs()
{
while [ "$1" != "" ]; do
case $1 in
-h | -\?)
usage
exit
;;
-ios)
BUILD_IOS=1
;;
-osx)
BUILD_OSX=1
;;
--boost-version)
if [ -n $2 ]; then
BOOST_VERSION=$2
BOOST_VERSION2="${BOOST_VERSION//./_}"
BOOST_TARBALL=$TARBALLDIR/boost_$BOOST_VERSION2.tar.bz2
BOOST_SRC=$SRCDIR/boost_${BOOST_VERSION2}
shift
else
missingParameter $1
fi
;;
--ios-sdk)
if [ -n $2 ]; then
IOS_SDK_VERSION=$2
shift
else
missingParameter $1
fi
;;
--min-ios-version)
if [ -n $2 ]; then
MIN_IOS_VERSION=$2
shift
else
missingParameter $1
fi
;;
--osx-sdk)
if [ -n $2 ]; then
OSX_SDK_VERSION=$2
shift
else
missingParameter $1
fi
;;
--clean)
CLEAN=1
;;
--no-clean)
NO_CLEAN=1
;;
--no-framework)
NO_FRAMEWORK=1
;;
*)
unknownParameter $1
;;
esac
shift
done
}
doneSection()
{
echo
echo "Done"
echo "================================================================="
echo
}
#===============================================================================
cleanup()
{
echo Cleaning everything
rm -rf $BOOST_SRC/iphone-build
rm -rf $BOOST_SRC/iphonesim-build
rm -rf $BOOST_SRC/osx-build
rm -rf $IOSOUTPUTDIR
rm -rf $OSXOUTPUTDIR
doneSection
}
#===============================================================================
downloadBoost()
{
if [ ! -s $BOOST_TARBALL ]; then
echo "Downloading boost ${BOOST_VERSION}"
curl -L -o $BOOST_TARBALL \
http://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION2}.tar.bz2/download
fi
doneSection
}
#===============================================================================
unpackBoost()
{
[ -f "$BOOST_TARBALL" ] || abort "Source tarball missing."
echo Unpacking boost into $SRCDIR...
[ -d $SRCDIR ] || mkdir -p $SRCDIR
[ -d $BOOST_SRC ] || ( cd $SRCDIR; tar xfj $BOOST_TARBALL )
[ -d $BOOST_SRC ] && echo " ...unpacked as $BOOST_SRC"
doneSection
}
#===============================================================================
inventMissingHeaders()
{
# These files are missing in the ARM iPhoneOS SDK, but they are in the simulator.
# They are supported on the device, so we copy them from x86 SDK to a staging area
# to use them on ARM, too.
echo Invent missing headers
cp $XCODE_ROOT/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IOS_SDK_VERSION}.sdk/usr/include/{crt_externs,bzlib}.h $BOOST_SRC
}
#===============================================================================
updateBoost()
{
echo Updating boost into $BOOST_SRC...
mv $BOOST_SRC/tools/build/src/user-config.jam $BOOST_SRC/tools/build/src/user-config.jam-bk
if [[ -n $BUILD_IOS ]]; then
cat >> $BOOST_SRC/tools/build/src/user-config.jam <<EOF
using darwin : ${IOS_SDK_VERSION}~iphone
: $XCODE_ROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 \
-arch armv7s -arch arm64 $EXTRA_IOS_CPPFLAGS
: <striper> <root>$XCODE_ROOT/Platforms/iPhoneOS.platform/Developer
: <architecture>arm <target-os>iphone
;
using darwin : ${IOS_SDK_VERSION}~iphonesim
: g++ -arch i386 -arch x86_64 $EXTRA_IOS_CPPFLAGS
: <striper> <root>$XCODE_ROOT/Platforms/iPhoneSimulator.platform/Developer
: <architecture>x86 <target-os>iphone
;
EOF
fi
if [[ -n $BUILD_OSX ]]; then
cat >> $BOOST_SRC/tools/build/src/user-config.jam <<EOF
using darwin : ${OSX_SDK_VERSION}
: g++ -arch i386 -arch x86_64 $EXTRA_OSX_CPPFLAGS
: <striper> <root>$XCODE_ROOT/Platforms/MacOSX.platform/Developer
: <architecture>x86 <target-os>darwin
;
EOF
fi
doneSection
}
#===============================================================================
bootstrapBoost()
{
cd $BOOST_SRC
BOOST_LIBS_COMMA=$(echo $BOOST_LIBS | sed -e "s/ /,/g")
echo "Bootstrapping (with libs $BOOST_LIBS_COMMA)"
./bootstrap.sh --with-libraries=$BOOST_LIBS_COMMA
doneSection
}
#===============================================================================
buildBoost()
{
cd $BOOST_SRC
if [[ -n $BUILD_IOS ]]; then
echo Building Boost for iPhone
# Install this one so we can copy the headers for the frameworks...
./b2 -j16 --build-dir=iphone-build --stagedir=iphone-build/stage \
--prefix=$PREFIXDIR toolset=darwin architecture=arm target-os=iphone \
macosx-version=iphone-${IOS_SDK_VERSION} define=_LITTLE_ENDIAN \
link=static stage
./b2 -j16 --build-dir=iphone-build --stagedir=iphone-build/stage \
--prefix=$PREFIXDIR toolset=darwin architecture=arm \
target-os=iphone macosx-version=iphone-${IOS_SDK_VERSION} \
define=_LITTLE_ENDIAN link=static install
doneSection
echo Building Boost for iPhoneSimulator
./b2 -j16 --build-dir=iphonesim-build --stagedir=iphonesim-build/stage \
toolset=darwin-${IOS_SDK_VERSION}~iphonesim architecture=x86 \
target-os=iphone macosx-version=iphonesim-${IOS_SDK_VERSION} \
link=static stage
doneSection
fi
if [[ -n $BUILD_OSX ]]; then
echo building Boost for OSX
./b2 -j16 --build-dir=osx-build --stagedir=osx-build/stage toolset=clang \
cxxflags="-std=c++11 -stdlib=libc++ -arch i386 -arch x86_64" \
linkflags="-stdlib=libc++" link=static threading=multi \
macosx-version=${OSX_SDK_VERSION} stage
# If we are only building for OS X and we are outputting a framework,
# then we need to install this one so we can copy the headers
if [[ -z $BUILD_IOS && -z $NO_FRAMEWORK ]]; then
PREFIXDIR=$OSXBUILDDIR/prefix
./b2 -j16 --build-dir=osx-build --stagedir=osx-build/stage \
--prefix=$PREFIXDIR toolset=clang \
cxxflags="-std=c++11 -stdlib=libc++ -arch i386 -arch x86_64" \
linkflags="-stdlib=libc++" link=static threading=multi \
macosx-version=${OSX_SDK_VERSION} install
fi
doneSection
fi
}
#===============================================================================
unpackArchive()
{
BUILDDIR=$1
LIBNAME=$2
echo "Unpacking $LIBNAME"
if [[ -d $BUILDDIR/$LIBNAME ]]; then
rm $BUILDDIR/$LIBNAME/*.o
rm $BUILDDIR/$LIBNAME/*.SYMDEF*
else
mkdir -p $BUILDDIR/$LIBNAME
fi
(
cd $BUILDDIR/$NAME; ar -x ../../libboost_$NAME.a;
for FILE in *.o; do
NEW_FILE="${NAME}_${FILE}"
mv $FILE $NEW_FILE
done
)
}
scrunchAllLibsTogetherInOneLibPerPlatform()
{
cd $BOOST_SRC
if [[ -n $BUILD_IOS ]]; then
# iOS Device
mkdir -p $IOSBUILDDIR/armv7/obj
mkdir -p $IOSBUILDDIR/armv7s/obj
mkdir -p $IOSBUILDDIR/arm64/obj
# iOS Simulator
mkdir -p $IOSBUILDDIR/i386/obj
mkdir -p $IOSBUILDDIR/x86_64/obj
fi
if [[ -n $BUILD_OSX ]]; then
# OSX
mkdir -p $OSXBUILDDIR/i386/obj
mkdir -p $OSXBUILDDIR/x86_64/obj
fi
ALL_LIBS=""
echo Splitting all existing fat binaries...
for NAME in $BOOST_LIBS; do
if [ "$NAME" == "test" ]; then
NAME="unit_test_framework"
fi
ALL_LIBS="$ALL_LIBS libboost_$NAME.a"
if [[ -n $BUILD_IOS ]]; then
$ARM_DEV_CMD lipo "iphone-build/stage/lib/libboost_$NAME.a" \
-thin armv7 -o $IOSBUILDDIR/armv7/libboost_$NAME.a
$ARM_DEV_CMD lipo "iphone-build/stage/lib/libboost_$NAME.a" \
-thin armv7s -o $IOSBUILDDIR/armv7s/libboost_$NAME.a
$ARM_DEV_CMD lipo "iphone-build/stage/lib/libboost_$NAME.a" \
-thin arm64 -o $IOSBUILDDIR/arm64/libboost_$NAME.a
$SIM_DEV_CMD lipo "iphonesim-build/stage/lib/libboost_$NAME.a" \
-thin i386 -o $IOSBUILDDIR/i386/libboost_$NAME.a
$SIM_DEV_CMD lipo "iphonesim-build/stage/lib/libboost_$NAME.a" \
-thin x86_64 -o $IOSBUILDDIR/x86_64/libboost_$NAME.a
fi
if [[ -n $BUILD_OSX ]]; then
$OSX_DEV_CMD lipo "osx-build/stage/lib/libboost_$NAME.a" \
-thin i386 -o $OSXBUILDDIR/i386/libboost_$NAME.a
$OSX_DEV_CMD lipo "osx-build/stage/lib/libboost_$NAME.a" \
-thin x86_64 -o $OSXBUILDDIR/x86_64/libboost_$NAME.a
fi
done
echo "Decomposing each architecture's .a files"
for NAME in $BOOST_LIBS; do
if [ "$NAME" == "test" ]; then
NAME="unit_test_framework"
fi
echo "Decomposing libboost_${NAME}.a"
if [[ -n $BUILD_IOS ]]; then
unpackArchive "$IOSBUILDDIR/armv7/obj" $NAME
unpackArchive "$IOSBUILDDIR/armv7s/obj" $NAME
unpackArchive "$IOSBUILDDIR/arm64/obj" $NAME
unpackArchive "$IOSBUILDDIR/i386/obj" $NAME
unpackArchive "$IOSBUILDDIR/x86_64/obj" $NAME
fi
if [[ -n $BUILD_OSX ]]; then
unpackArchive "$OSXBUILDDIR/i386/obj" $NAME
unpackArchive "$OSXBUILDDIR/x86_64/obj" $NAME
fi
done
echo "Linking each architecture into an uberlib ($ALL_LIBS => libboost.a )"
if [[ -n $BUILD_IOS ]]; then
rm $IOSBUILDDIR/*/libboost.a
fi
if [[ -n $BUILD_OSX ]]; then
rm $OSXBUILDDIR/*/libboost.a
fi
for NAME in $BOOST_LIBS; do
if [ "$NAME" == "test" ]; then
NAME="unit_test_framework"
fi
echo $NAME
if [[ -n $BUILD_IOS ]]; then
echo ...armv7
(cd $IOSBUILDDIR/armv7; $ARM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...armv7s
(cd $IOSBUILDDIR/armv7s; $ARM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...arm64
(cd $IOSBUILDDIR/arm64; $ARM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...i386
(cd $IOSBUILDDIR/i386; $SIM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...x86_64
(cd $IOSBUILDDIR/x86_64; $SIM_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
fi
if [[ -n $BUILD_OSX ]]; then
echo ...osx-i386
(cd $OSXBUILDDIR/i386; $OSX_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
echo ...osx-x86_64
(cd $OSXBUILDDIR/x86_64; $OSX_DEV_CMD ar crus libboost.a obj/$NAME/*.o; )
fi
done
}
#===============================================================================
buildFramework()
{
: ${1:?}
FRAMEWORKDIR=$1
BUILDDIR=$2
VERSION_TYPE=Alpha
FRAMEWORK_NAME=boost
FRAMEWORK_VERSION=A
FRAMEWORK_CURRENT_VERSION=$BOOST_VERSION
FRAMEWORK_COMPATIBILITY_VERSION=$BOOST_VERSION
FRAMEWORK_BUNDLE=$FRAMEWORKDIR/$FRAMEWORK_NAME.framework
echo "Framework: Building $FRAMEWORK_BUNDLE from $BUILDDIR..."
rm -rf $FRAMEWORK_BUNDLE
echo "Framework: Setting up directories..."
mkdir -p $FRAMEWORK_BUNDLE
mkdir -p $FRAMEWORK_BUNDLE/Versions
mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION
mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Resources
mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Headers
mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Documentation
echo "Framework: Creating symlinks..."
ln -s $FRAMEWORK_VERSION $FRAMEWORK_BUNDLE/Versions/Current
ln -s Versions/Current/Headers $FRAMEWORK_BUNDLE/Headers
ln -s Versions/Current/Resources $FRAMEWORK_BUNDLE/Resources
ln -s Versions/Current/Documentation $FRAMEWORK_BUNDLE/Documentation
ln -s Versions/Current/$FRAMEWORK_NAME $FRAMEWORK_BUNDLE/$FRAMEWORK_NAME
FRAMEWORK_INSTALL_NAME=$FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/$FRAMEWORK_NAME
echo "Lipoing library into $FRAMEWORK_INSTALL_NAME..."
$ARM_DEV_CMD lipo -create $BUILDDIR/*/libboost.a -o "$FRAMEWORK_INSTALL_NAME" || abort "Lipo $1 failed"
echo "Framework: Copying includes..."
cp -r $PREFIXDIR/include/boost/* $FRAMEWORK_BUNDLE/Headers/
echo "Framework: Creating plist..."
cat > $FRAMEWORK_BUNDLE/Resources/Info.plist <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${FRAMEWORK_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.boost</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${FRAMEWORK_CURRENT_VERSION}</string>
</dict>
</plist>
EOF
doneSection
}
#===============================================================================
restoreBoost()
{
cp $BOOST_SRC/tools/build/src/user-config.jam-bk $BOOST_SRC/tools/build/src/user-config.jam
}
#===============================================================================
# Execution starts here
#===============================================================================
parseArgs $@
if [ -n "$CLEAN" ]; then
cleanup
exit
fi
if [[ -z $BUILD_IOS && -z $BUILD_OSX ]]; then
BUILD_IOS=1
BUILD_OSX=1
fi
format="%-20s %s\n"
printf "$format" "BUILD_IOS:" $( [[ -n $BUILD_IOS ]] && echo "YES" || echo "NO")
printf "$format" "BUILD_OSX:" $( [[ -n $BUILD_OSX ]] && echo "YES" || echo "NO")
printf "$format" "BOOST_VERSION:" $BOOST_VERSION
printf "$format" "IOS_SDK_VERSION:" $IOS_SDK_VERSION
printf "$format" "OSX_SDK_VERSION:" $OSX_SDK_VERSION
printf "$format" "MIN_IOS_VERSION:" $MIN_IOS_VERSION
printf "$format" "BOOST_LIBS:" "$BOOST_LIBS"
printf "$format" "BOOST_SRC:" $BOOST_SRC
printf "$format" "IOSBUILDDIR:" $IOSBUILDDIR
printf "$format" "OSXBUILDDIR:" $OSXBUILDDIR
printf "$format" "PREFIXDIR:" $PREFIXDIR
printf "$format" "IOSFRAMEWORKDIR:" $IOSFRAMEWORKDIR
printf "$format" "OSXFRAMEWORKDIR:" $OSXFRAMEWORKDIR
printf "$format" "XCODE_ROOT:" $XCODE_ROOT
echo
if [ -z $NO_CLEAN ]; then
cleanup
fi
#downloadBoost
#unpackBoost
inventMissingHeaders
bootstrapBoost
updateBoost
buildBoost
scrunchAllLibsTogetherInOneLibPerPlatform
if [ -z $NO_FRAMEWORK ]; then
if [[ -n $BUILD_IOS ]]; then
buildFramework $IOSFRAMEWORKDIR $IOSBUILDDIR
fi
if [[ -n $BUILD_OSX ]]; then
buildFramework $OSXFRAMEWORKDIR $OSXBUILDDIR
fi
fi
restoreBoost
echo "Completed successfully"

View File

@ -86,7 +86,69 @@ namespace OOX
res->HyperlinksChanged = m_bHyperlinksChanged.get();
if(m_sAppVersion.IsInit())
res->AppVersion = m_sAppVersion.get();
if(m_nCharacters.IsInit())
res->Characters = m_nCharacters.get();
if(m_nCharactersWithSpaces.IsInit())
res->CharactersWithSpaces = m_nCharactersWithSpaces.get();
if(m_nDocSecurity.IsInit())
res->DocSecurity = m_nDocSecurity.get();
if(m_sHyperlinkBase.IsInit())
res->HyperlinkBase = m_sHyperlinkBase.get();
if(m_nLines.IsInit())
res->Lines = m_nLines.get();
if(m_sManager.IsInit())
res->Manager = m_sManager.get();
if(m_nPages.IsInit())
res->Pages = m_nPages.get();
return res;
}
void CApp::FromPptxApp(PPTX::App* pApp)
{
if(pApp->Template.IsInit())
m_sTemplate = pApp->Template.get();
if(pApp->TotalTime.IsInit())
m_nTotalTime = pApp->TotalTime.get();
if(pApp->Words.IsInit())
m_nWords = pApp->Words.get();
if(pApp->Application.IsInit())
m_sApplication = pApp->Application.get();
if(pApp->PresentationFormat.IsInit())
m_sPresentationForm = pApp->PresentationFormat.get();
if(pApp->Paragraphs.IsInit())
m_nParagraphs = pApp->Paragraphs.get();
if(pApp->Slides.IsInit())
m_nSlides = pApp->Slides.get();
if(pApp->Notes.IsInit())
m_nNotes = pApp->Notes.get();
if(pApp->HiddenSlides.IsInit())
m_nHiddenSlides = pApp->HiddenSlides.get();
if(pApp->MMClips.IsInit())
m_nMMClips = pApp->MMClips.get();
if(pApp->ScaleCrop.IsInit())
m_bScaleCrop = pApp->ScaleCrop.get();
if(pApp->Company.IsInit())
m_sCompany = pApp->Company.get();
if(pApp->LinksUpToDate.IsInit())
m_bLinksUpToDate = pApp->LinksUpToDate.get();
if(pApp->SharedDoc.IsInit())
m_bSharedDoc = pApp->SharedDoc.get();
if(pApp->HyperlinksChanged.IsInit())
m_bHyperlinksChanged = pApp->HyperlinksChanged.get();
if(pApp->AppVersion.IsInit())
m_sAppVersion = pApp->AppVersion.get();
if(pApp->Characters.IsInit())
m_nCharacters = pApp->Characters.get();
if(pApp->CharactersWithSpaces.IsInit())
m_nCharactersWithSpaces = pApp->CharactersWithSpaces.get();
if(pApp->DocSecurity.IsInit())
m_nDocSecurity = pApp->DocSecurity.get();
if(pApp->HyperlinkBase.IsInit())
m_sHyperlinkBase = pApp->HyperlinkBase.get();
if(pApp->Lines.IsInit())
m_nLines = pApp->Lines.get();
if(pApp->Manager.IsInit())
m_sManager = pApp->Manager.get();
if(pApp->Pages.IsInit())
m_nPages = pApp->Pages.get();
}
} // namespace OOX

View File

@ -186,11 +186,11 @@ namespace OOX
if ( m_sApplication.IsInit() )
{
sXml += _T("<Application>");
sXml += m_sApplication.get();
sXml += XmlUtils::EncodeXmlString(m_sApplication.get());
if ( m_sAppVersion.IsInit() )
{
sXml += L"/";
sXml += m_sAppVersion.get();
sXml += XmlUtils::EncodeXmlString(m_sAppVersion.get());
}
sXml += _T("</Application>");
}
@ -225,7 +225,7 @@ namespace OOX
if ( m_sCompany.IsInit() )
{
sXml += _T("<Company>");
sXml += m_sCompany.get();
sXml += XmlUtils::EncodeXmlString(m_sCompany.get());
sXml += _T("</Company>");
}
@ -252,7 +252,7 @@ namespace OOX
if ( m_sHyperlinkBase.IsInit() )
{
sXml += _T("<HyperlinkBase>");
sXml += m_sHyperlinkBase.get();
sXml += XmlUtils::EncodeXmlString(m_sHyperlinkBase.get());
sXml += _T("</HyperlinkBase>");
}
@ -289,7 +289,7 @@ namespace OOX
if ( m_sManager.IsInit() )
{
sXml += _T("<Manager>");
sXml += m_sManager.get();
sXml += XmlUtils::EncodeXmlString(m_sManager.get());
sXml += _T("</Manager>");
}
@ -366,7 +366,7 @@ namespace OOX
if ( m_sTemplate.IsInit() )
{
sXml += _T("<Template>");
sXml += m_sTemplate.get();
sXml += XmlUtils::EncodeXmlString(m_sTemplate.get());
sXml += _T("</Template>");
}
@ -410,19 +410,24 @@ namespace OOX
}
void SetDefaults()
{
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
SetApplication(sApplication);
#if defined(INTVER)
SetAppVersion(VALUE2STR(INTVER));
#endif
SetRequiredDefaults();
SetDocSecurity(0);
SetScaleCrop(false);
SetLinksUpToDate(false);
SetSharedDoc(false);
SetHyperlinksChanged(false);
}
void SetRequiredDefaults()
{
m_sAppVersion.reset(NULL);
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
SetApplication(sApplication);
#if defined(INTVER)
SetAppVersion(VALUE2STR(INTVER));
#endif
}
void SetApplication(const std::wstring& sVal)
{
m_sApplication = sVal;
@ -460,6 +465,7 @@ namespace OOX
m_bHyperlinksChanged = bVal;
}
PPTX::App* ToPptxApp();
void FromPptxApp(PPTX::App* pApp);
// TO DO: DigSig
// HeadingPairs

View File

@ -55,18 +55,69 @@ namespace OOX
PPTX::Core* CCore::ToPptxCore()
{
PPTX::Core* res = new PPTX::Core(NULL);
if (m_sTitle.IsInit())
res->title = m_sTitle.get();
if (m_sCreator.IsInit())
res->creator = m_sCreator.get();
if (m_sLastModifiedBy.IsInit())
res->lastModifiedBy = m_sLastModifiedBy.get();
if (m_sRevision.IsInit())
res->revision = m_sRevision.get();
if (m_sCategory.IsInit())
res->category = m_sCategory.get();
if (m_sContentStatus.IsInit())
res->contentStatus = m_sContentStatus.get();
if (m_sCreated.IsInit())
res->created = m_sCreated.get();
if (m_sCreator.IsInit())
res->creator = m_sCreator.get();
if (m_sDescription.IsInit())
res->description = m_sDescription.get();
if (m_sIdentifier.IsInit())
res->identifier = m_sIdentifier.get();
if (m_sKeywords.IsInit())
res->keywords = m_sKeywords.get();
if (m_sLanguage.IsInit())
res->language = m_sLanguage.get();
if (m_sLastModifiedBy.IsInit())
res->lastModifiedBy = m_sLastModifiedBy.get();
if (m_sLastPrinted.IsInit())
res->lastPrinted = m_sLastPrinted.get();
if (m_sModified.IsInit())
res->modified = m_sModified.get();
if (m_sRevision.IsInit())
res->revision = m_sRevision.get();
if (m_sSubject.IsInit())
res->subject = m_sSubject.get();
if (m_sTitle.IsInit())
res->title = m_sTitle.get();
if (m_sVersion.IsInit())
res->version = m_sVersion.get();
return res;
}
void CCore::FromPptxCore(PPTX::Core* pCore)
{
if(pCore->category.IsInit())
m_sCategory = pCore->category.get();
if(pCore->contentStatus.IsInit())
m_sContentStatus = pCore->contentStatus.get();
if(pCore->created.IsInit())
m_sCreated = pCore->created.get();
if(pCore->creator.IsInit())
m_sCreator = pCore->creator.get();
if(pCore->description.IsInit())
m_sDescription = pCore->description.get();
if(pCore->identifier.IsInit())
m_sIdentifier = pCore->identifier.get();
if(pCore->keywords.IsInit())
m_sKeywords = pCore->keywords.get();
if(pCore->language.IsInit())
m_sLanguage = pCore->language.get();
if(pCore->lastModifiedBy.IsInit())
m_sLastModifiedBy = pCore->lastModifiedBy.get();
if(pCore->lastPrinted.IsInit())
m_sLastPrinted = pCore->lastPrinted.get();
if(pCore->modified.IsInit())
m_sModified = pCore->modified.get();
if(pCore->revision.IsInit())
m_sRevision = pCore->revision.get();
if(pCore->subject.IsInit())
m_sSubject = pCore->subject.get();
if(pCore->title.IsInit())
m_sTitle = pCore->title.get();
if(pCore->version.IsInit())
m_sVersion = pCore->version.get();
}
} // namespace OOX

View File

@ -36,6 +36,7 @@
#include "Docx.h"
#include "File.h"
#include "../Base/Nullable.h"
#include "../../../../DesktopEditor/common/SystemUtils.h"
namespace PPTX
{
@ -111,111 +112,96 @@ namespace OOX
std::wstring sXml;
sXml = _T("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><cp:coreProperties xmlns:cp=\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:dcmitype=\"http://purl.org/dc/dcmitype/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
if ( m_sCategory.IsInit() )
{
sXml += _T("<cp:category>");
sXml += m_sCategory.get();
sXml += _T("</cp:category>");
}
if ( m_sContentStatus.IsInit() )
{
sXml += _T("<cp:contentStatus>");
sXml += m_sContentStatus.get();
sXml += _T("</cp:contentStatus>");
}
if ( m_sCreated.IsInit() )
{
sXml += _T("<dcterms:created xsi:type=\"dcterms:W3CDTF\">");
sXml += m_sCreated.get();
sXml += _T("</dcterms:created>");
}
if ( m_sCreator.IsInit() )
{
sXml += _T("<dc:creator>");
sXml += m_sCreator.get();
sXml += _T("</dc:creator>");
}
if ( m_sDescription.IsInit() )
{
sXml += _T("<dc:description>");
sXml += m_sDescription.get();
sXml += _T("</dc:description>");
}
if ( m_sIdentifier.IsInit() )
{
sXml += _T("<dc:identifier>");
sXml += m_sIdentifier.get();
sXml += _T("</dc:identifier>");
}
if ( m_sKeywords.IsInit() )
{
sXml += _T("<cp:keywords>");
sXml += m_sKeywords.get();
sXml += _T("</cp:keywords>");
}
if ( m_sLanguage.IsInit() )
{
sXml += _T("<dc:language>");
sXml += m_sLanguage.get();
sXml += _T("</dc:language>");
}
if ( m_sLastModifiedBy.IsInit() )
{
sXml += _T("<cp:lastModifiedBy>");
sXml += m_sLastModifiedBy.get();
sXml += _T("</cp:lastModifiedBy>");
}
if ( m_sLastPrinted.IsInit() )
{
sXml += _T("<cp:lastPrinted>");
sXml += m_sLastPrinted.get();
sXml += _T("</cp:lastPrinted>");
}
if ( m_sModified.IsInit() )
{
sXml += _T("<dcterms:modified xsi:type=\"dcterms:W3CDTF\">");
sXml += m_sModified.get();
sXml += _T("</dcterms:modified>");
}
if ( m_sRevision.IsInit() )
{
sXml += _T("<cp:revision>");
sXml += m_sRevision.get();
sXml += _T("</cp:revision>");
}
if ( m_sSubject.IsInit() )
{
sXml += _T("<dc:subject>");
sXml += m_sSubject.get();
sXml += _T("</dc:subject>");
}
if ( m_sTitle.IsInit() )
{
sXml += _T("<dc:title>");
sXml += m_sTitle.get();
sXml += XmlUtils::EncodeXmlString(m_sTitle.get());
sXml += _T("</dc:title>");
}
if ( m_sSubject.IsInit() )
{
sXml += _T("<dc:subject>");
sXml += XmlUtils::EncodeXmlString(m_sSubject.get());
sXml += _T("</dc:subject>");
}
if ( m_sCreator.IsInit() )
{
sXml += _T("<dc:creator>");
sXml += XmlUtils::EncodeXmlString(m_sCreator.get());
sXml += _T("</dc:creator>");
}
if ( m_sKeywords.IsInit() )
{
sXml += _T("<cp:keywords>");
sXml += XmlUtils::EncodeXmlString(m_sKeywords.get());
sXml += _T("</cp:keywords>");
}
if ( m_sDescription.IsInit() )
{
sXml += _T("<dc:description>");
sXml += XmlUtils::EncodeXmlString(m_sDescription.get());
sXml += _T("</dc:description>");
}
if ( m_sIdentifier.IsInit() )
{
sXml += _T("<dc:identifier>");
sXml += XmlUtils::EncodeXmlString(m_sIdentifier.get());
sXml += _T("</dc:identifier>");
}
if ( m_sLanguage.IsInit() )
{
sXml += _T("<dc:language>");
sXml += XmlUtils::EncodeXmlString(m_sLanguage.get());
sXml += _T("</dc:language>");
}
if ( m_sLastModifiedBy.IsInit() )
{
sXml += _T("<cp:lastModifiedBy>");
sXml += XmlUtils::EncodeXmlString(m_sLastModifiedBy.get());
sXml += _T("</cp:lastModifiedBy>");
}
if ( m_sRevision.IsInit() )
{
sXml += _T("<cp:revision>");
sXml += XmlUtils::EncodeXmlString(m_sRevision.get());
sXml += _T("</cp:revision>");
}
if ( m_sLastPrinted.IsInit() )
{
sXml += _T("<cp:lastPrinted>");
sXml += XmlUtils::EncodeXmlString(m_sLastPrinted.get());
sXml += _T("</cp:lastPrinted>");
}
if ( m_sCreated.IsInit() )
{
sXml += _T("<dcterms:created xsi:type=\"dcterms:W3CDTF\">");
sXml += XmlUtils::EncodeXmlString(m_sCreated.get());
sXml += _T("</dcterms:created>");
}
if ( m_sModified.IsInit() )
{
sXml += _T("<dcterms:modified xsi:type=\"dcterms:W3CDTF\">");
sXml += XmlUtils::EncodeXmlString(m_sModified.get());
sXml += _T("</dcterms:modified>");
}
if ( m_sCategory.IsInit() )
{
sXml += _T("<cp:category>");
sXml += XmlUtils::EncodeXmlString(m_sCategory.get());
sXml += _T("</cp:category>");
}
if ( m_sContentStatus.IsInit() )
{
sXml += _T("<cp:contentStatus>");
sXml += XmlUtils::EncodeXmlString(m_sContentStatus.get());
sXml += _T("</cp:contentStatus>");
}
if ( m_sVersion.IsInit() )
{
sXml += _T("<cp:version>");
sXml += m_sVersion.get();
sXml += XmlUtils::EncodeXmlString(m_sVersion.get());
sXml += _T("</cp:version>");
}
sXml += _T("</cp:coreProperties>");
NSFile::CFileBinary::SaveToFile( oPath.GetPath(), sXml );
@ -240,6 +226,15 @@ namespace OOX
m_sCreator = L"";
m_sLastModifiedBy = L"";
}
void SetRequiredDefaults()
{
std::wstring sCreator = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvCreator);
if (!sCreator.empty())
m_sCreator = sCreator;
std::wstring sLastModifiedBy = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvLastModifiedBy);
if (!sLastModifiedBy.empty())
m_sLastModifiedBy = sLastModifiedBy;
}
void SetCreator(std::wstring sVal)
{
m_sCreator = sVal;
@ -249,6 +244,7 @@ namespace OOX
m_sLastModifiedBy = sVal;
}
PPTX::Core* ToPptxCore();
void FromPptxCore(PPTX::Core* pCore);
nullable<std::wstring> m_sCategory;
nullable<std::wstring> m_sContentStatus;

View File

@ -381,14 +381,22 @@ xmlns:xr3=\"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3\"")
if(m_oHeaderRowCount.IsInit() && 0 == m_oHeaderRowCount->GetValue())
writer.WriteString(L" headerRowCount=\"0\"");
if(m_oTotalsRowCount.IsInit() && m_oTotalsRowCount->GetValue() > 0)
writer.WriteString(L" totalsRowCount=\"1\"");
else
writer.WriteString(L" totalsRowShown=\"0\"");//m_oTotalsRowShown
if (m_oInsertRow.IsInit()) WritingStringAttrString(L"insertRow", *m_oInsertRow ? L"1" : L"0");
if (m_oInsertRowShift.IsInit()) WritingStringAttrString(L"insertRowShift", *m_oInsertRowShift ? L"1" : L"0");
if (m_oPublished.IsInit()) WritingStringAttrString(L"published", *m_oPublished ? L"1" : L"0");
writer.WriteString(L" totalsRowCount=\"1\"");
else
writer.WriteString(L" totalsRowShown=\"0\"");//m_oTotalsRowShown
bool bInsertRow = m_oInsertRow.IsInit();
if (bInsertRow) {
WritingStringAttrString(L"insertRow", *m_oInsertRow ? L"1" : L"0");
}
if (m_oInsertRowShift.IsInit()) {
WritingStringAttrString(L"insertRowShift", *m_oInsertRowShift ? L"1" : L"0");
}
if (m_oPublished.IsInit()) {
WritingStringAttrString(L"published", *m_oPublished ? L"1" : L"0");
}
writer.WriteString(L">");
if(m_oAutoFilter.IsInit())

View File

@ -123,30 +123,22 @@ bool OOX::Spreadsheet::CXlsx::Write(const CPath& oDirPath, OOX::CContentTypes &o
return false;
//CApp
OOX::CApp* pApp = new OOX::CApp(this);
if(NULL == m_pApp)
{
OOX::CApp* pApp = new OOX::CApp(this);
pApp->SetDefaults();
smart_ptr<OOX::File> pAppFile(pApp);
Add(pAppFile);
}
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
pApp->SetApplication(sApplication);
#if defined(INTVER)
pApp->SetAppVersion(VALUE2STR(INTVER));
#endif
pApp->SetDocSecurity(0);
pApp->SetScaleCrop(false);
pApp->SetLinksUpToDate(false);
pApp->SetSharedDoc(false);
pApp->SetHyperlinksChanged(false);
smart_ptr<OOX::File> pAppFile(pApp);
const OOX::RId oAppRId = Add(pAppFile);
//CCore
OOX::CCore* pCore = new OOX::CCore(this);
pCore->SetCreator(_T(""));
pCore->SetLastModifiedBy(_T(""));
smart_ptr<OOX::File> pCoreFile(pCore);
const OOX::RId oCoreRId = Add(pCoreFile);
if(NULL == m_pCore)
{
OOX::CCore* pCore = new OOX::CCore(this);
pCore->SetDefaults();
smart_ptr<OOX::File> pCoreFile(pCore);
Add(pCoreFile);
}
//xl
CPath oXlPath = oDirPath / m_pWorkbook->DefaultDirectory();

View File

@ -43,6 +43,8 @@ namespace NSSystemUtils
static const wchar_t* gc_EnvCompanyNameDefault = L"Ascensio System SIA Copyright (c) 2018";
static const wchar_t* gc_EnvMethodEncrypt = L"METHOD_CRYPT";
static const wchar_t* gc_EnvMethodEncryptDefault = L"Strong";
static const wchar_t* gc_EnvCreator = L"CREATOR";
static const wchar_t* gc_EnvLastModifiedBy = L"LAST_MODIFIED_BY";
KERNEL_DECL std::wstring GetEnvVariable(const std::wstring& strName);
}

View File

@ -34,9 +34,15 @@
#include "../../../DesktopEditor/common/File.h"
#include "../libxml2/libxml.h"
#include "../libxml2/include/libxml/xmlreader.h"
#include "../libxml2/include/libxml/c14n.h"
#ifdef _IOS
#include <libxml2/libxml/xmlreader.h>
#include <libxml2/libxml/c14n.h>
#else
#include "../libxml2/libxml.h"
#include "../libxml2/include/libxml/xmlreader.h"
#include "../libxml2/include/libxml/c14n.h"
#endif
#include "../include/xmlutils.h"
namespace XmlUtils

View File

@ -61,6 +61,8 @@
8A35A6F5215E5F62005CC806 /* xmllight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A35A6F2215E5F62005CC806 /* xmllight.cpp */; };
8A9FAC2B207772E1007787F6 /* libicu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A9FAC27207772CC007787F6 /* libicu.a */; };
8ADB5F4220C52EFE00B72D37 /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8ADB5F4120C52EFE00B72D37 /* version.h */; };
8AF8AA2C22048C01004BDAC2 /* libASCOfficeOdfFile.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AF8AA2A22048BF5004BDAC2 /* libASCOfficeOdfFile.a */; };
8AF8AB6522049072004BDAC2 /* libASCOfficeOdfFileW.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AF8AB612204905A004BDAC2 /* libASCOfficeOdfFileW.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -428,6 +430,34 @@
remoteGlobalIDString = 1732417F1BBECF8400E67992;
remoteInfo = icu;
};
8AF8AA2922048BF5004BDAC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 8AABA56822048801006249F6;
remoteInfo = ASCOfficeOdfFile;
};
8AF8AA2D22048C06004BDAC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 8AABA56722048801006249F6;
remoteInfo = ASCOfficeOdfFile;
};
8AF8AB602204905A004BDAC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 8AF8AA3822048F12004BDAC2;
remoteInfo = ASCOfficeOdfFileW;
};
8AF8AB632204906C004BDAC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 8AF8AA3722048F12004BDAC2;
remoteInfo = ASCOfficeOdfFileW;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
@ -472,7 +502,10 @@
8A35A6F1215E5F62005CC806 /* xmllight_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = xmllight_private.h; path = ../../../../../DesktopEditor/xml/src/xmllight_private.h; sourceTree = "<group>"; };
8A35A6F2215E5F62005CC806 /* xmllight.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xmllight.cpp; path = ../../../../../DesktopEditor/xml/src/xmllight.cpp; sourceTree = "<group>"; };
8A9FAC22207772CC007787F6 /* icu.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = icu.xcodeproj; path = icu/icu.xcodeproj; sourceTree = "<group>"; };
8AC4E6F022058B5A0044119A /* boost.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = boost.framework; path = ../../../../Common/3dParty/boost/ios/framework/boost.framework; sourceTree = "<group>"; };
8ADB5F4120C52EFE00B72D37 /* version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ASCOfficeOdfFile.xcodeproj; path = ../../../../ASCOfficeOdfFile/mac/ASCOfficeOdfFile/ASCOfficeOdfFile.xcodeproj; sourceTree = "<group>"; };
8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ASCOfficeOdfFileW.xcodeproj; path = ../../../../ASCOfficeOdfFileW/mac/ASCOfficeOdfFileW/ASCOfficeOdfFileW.xcodeproj; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -506,6 +539,8 @@
69415FE01CB52455003E771B /* libmng_ios.a in Frameworks */,
69415F311CB51D41003E771B /* libASCOfficeDocxFile2Lib_ios.a in Frameworks */,
69415F271CB51C37003E771B /* libOfficeUtils.a in Frameworks */,
8AF8AA2C22048C01004BDAC2 /* libASCOfficeOdfFile.a in Frameworks */,
8AF8AB6522049072004BDAC2 /* libASCOfficeOdfFileW.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -515,6 +550,8 @@
17C27A0B1AC2DB3C00E1D003 = {
isa = PBXGroup;
children = (
8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */,
8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */,
8A9FAC22207772CC007787F6 /* icu.xcodeproj */,
696DD7C91F5D981A0021D0F3 /* OfficeCryptReader.xcodeproj */,
6967B1C91E27B9C400A129E2 /* RtfFormatLib.xcodeproj */,
@ -705,6 +742,7 @@
696DD7C01F5D97DB0021D0F3 /* Frameworks */ = {
isa = PBXGroup;
children = (
8AC4E6F022058B5A0044119A /* boost.framework */,
696DD7C11F5D97DB0021D0F3 /* libcryptopp.a */,
);
name = Frameworks;
@ -817,6 +855,22 @@
name = Products;
sourceTree = "<group>";
};
8AF8AA2622048BF5004BDAC2 /* Products */ = {
isa = PBXGroup;
children = (
8AF8AA2A22048BF5004BDAC2 /* libASCOfficeOdfFile.a */,
);
name = Products;
sourceTree = "<group>";
};
8AF8AB5D2204905A004BDAC2 /* Products */ = {
isa = PBXGroup;
children = (
8AF8AB612204905A004BDAC2 /* libASCOfficeOdfFileW.a */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@ -876,6 +930,8 @@
69415FDF1CB5244D003E771B /* PBXTargetDependency */,
69DA32EE1CEE100400E10AF0 /* PBXTargetDependency */,
17C8DEDC1ACD6A3900902C85 /* PBXTargetDependency */,
8AF8AB642204906C004BDAC2 /* PBXTargetDependency */,
8AF8AA2E22048C06004BDAC2 /* PBXTargetDependency */,
);
name = x2tconverter;
productName = X2tConverter;
@ -910,6 +966,14 @@
ProductGroup = 17E17F571AC457CD00BEA2EA /* Products */;
ProjectRef = 17E17F561AC457CD00BEA2EA /* ASCOfficeDocxFile2Lib.xcodeproj */;
},
{
ProductGroup = 8AF8AA2622048BF5004BDAC2 /* Products */;
ProjectRef = 8AF8AA2522048BF5004BDAC2 /* ASCOfficeOdfFile.xcodeproj */;
},
{
ProductGroup = 8AF8AB5D2204905A004BDAC2 /* Products */;
ProjectRef = 8AF8AB5C2204905A004BDAC2 /* ASCOfficeOdfFileW.xcodeproj */;
},
{
ProductGroup = 69DA32271CEE087D00E10AF0 /* Products */;
ProjectRef = 69DA32261CEE087D00E10AF0 /* cximage.xcodeproj */;
@ -1198,6 +1262,20 @@
remoteRef = 8A9FAC26207772CC007787F6 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
8AF8AA2A22048BF5004BDAC2 /* libASCOfficeOdfFile.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libASCOfficeOdfFile.a;
remoteRef = 8AF8AA2922048BF5004BDAC2 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
8AF8AB612204905A004BDAC2 /* libASCOfficeOdfFileW.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libASCOfficeOdfFileW.a;
remoteRef = 8AF8AB602204905A004BDAC2 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXShellScriptBuildPhase section */
@ -1376,6 +1454,16 @@
name = icu;
targetProxy = 8A9FAC29207772D9007787F6 /* PBXContainerItemProxy */;
};
8AF8AA2E22048C06004BDAC2 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = ASCOfficeOdfFile;
targetProxy = 8AF8AA2D22048C06004BDAC2 /* PBXContainerItemProxy */;
};
8AF8AB642204906C004BDAC2 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = ASCOfficeOdfFileW;
targetProxy = 8AF8AB632204906C004BDAC2 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */

View File

@ -81,6 +81,13 @@
- (int)txt2doct_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_docx2odt:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_xlsx2ods:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_pptx2odp:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_odf2oox:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_odf2oox_dir:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
- (int)sdk_dir2zip:(NSString*)nsFrom nsTo:(NSString*)nsTo;
- (int)sdk_zip2dir:(NSString*)nsFrom nsTo:(NSString*)nsTo;

View File

@ -471,6 +471,83 @@ static std::wstring nsstring_to_wstring(NSString* nsstring)
return NExtractTools::txt2doct_bin(from, to, temp, oInputParams);
}
- (int)sdk_docx2odt:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::docx2odt(from, to, temp, oInputParams);
}
- (int)sdk_xlsx2ods:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::xlsx2ods(from, to, temp, oInputParams);
}
- (int)sdk_pptx2odp:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::pptx2odp(from, to, temp, oInputParams);
}
- (int)sdk_odf2oox:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::odf2oox(from, to, temp, oInputParams);
}
- (int)sdk_odf2oox_dir:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);
std::wstring temp = nsstring_to_wstring(nsTemp);
NExtractTools::InputParams oInputParams;
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
if (self.password) {
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
}
return NExtractTools::odf2oox_dir(from, to, temp, oInputParams);
}
- (int)sdk_dir2zip:(NSString*)nsFrom nsTo:(NSString*)nsTo {
std::wstring from = nsstring_to_wstring(nsFrom);
std::wstring to = nsstring_to_wstring(nsTo);

View File

@ -1,6 +1,6 @@
#ifndef X2T_VERSION_H
#define X2T_VERSION_H
#define X2T_VERSION "2.4.554.0"
#define X2T_VERSION "2.5.562.0"
#endif

View File

@ -35,9 +35,8 @@
#include "../../PdfWriter/OnlineOfficeBinToPdf.h"
#include "cextracttools.h"
#include "../../DesktopEditor/common/Path.h"
#include "../../DesktopEditor/common/Directory.h"
#include "../../OfficeUtils/src/OfficeUtils.h"
#include "../../Common/3dParty/pole/pole.h"
#include "../../ASCOfficeDocxFile2/DocWrapper/DocxSerializer.h"
#include "../../ASCOfficeDocxFile2/DocWrapper/XlsxSerializer.h"
@ -47,11 +46,11 @@
//#include "../../ASCOfficeDocFile/DocFormatLib/DocFormatLib.h"
#include "../../ASCOfficeTxtFile/TxtXmlFormatLib/Source/TxtXmlFile.h"
#include "../../ASCOfficePPTFile/PPTFormatLib/PPTFormatLib.h"
//#include "../../ASCOfficeOdfFile/src/ConvertOO2OOX.h"
//#include "../../ASCOfficeOdfFileW/source/Oox2OdfConverter/Oox2OdfConverter.h"
#include "../../ASCOfficeOdfFile/src/ConvertOO2OOX.h"
#include "../../ASCOfficeOdfFileW/source/Oox2OdfConverter/Oox2OdfConverter.h"
//#include "../../DesktopEditor/doctrenderer/doctrenderer.h"
//#include "../../DesktopEditor/doctrenderer/docbuilder.h"
#include "../../DesktopEditor/fontengine/ApplicationFonts.h"
#include "../../DesktopEditor/graphics/pro/Fonts.h"
#include "../../DesktopEditor/graphics/MetafileToGraphicsRenderer.h"
//#include "../../PdfReader/PdfReader.h"
#include "../../PdfReader/Src/ErrorConstants.h"
@ -62,19 +61,22 @@
//#include "../../ASCOfficeXlsFile2/source/XlsXlsxConverter/ConvertXls2Xlsx.h"
#include "../../OfficeCryptReader/source/ECMACryptFile.h"
#include "../../DesktopEditor/common/Path.h"
#include "../../DesktopEditor/common/Directory.h"
#include <iostream>
#include <fstream>
namespace NExtractTools
{
void initApplicationFonts(CApplicationFonts& oApplicationFonts, InputParams& params)
void initApplicationFonts(NSFonts::IApplicationFonts* pApplicationFonts, InputParams& params)
{
std::wstring sFontPath = params.getFontPath();
if(sFontPath.empty())
oApplicationFonts.Initialize();
pApplicationFonts->Initialize();
else
oApplicationFonts.InitializeFromFolder(sFontPath);
pApplicationFonts->InitializeFromFolder(sFontPath);
}
std::wstring getExtentionByRasterFormat(int format)
{
@ -1150,20 +1152,34 @@ namespace NExtractTools
// bin -> pdf
_UINT32 bin2pdf (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, bool bPaid, const std::wstring &sThemeDir, InputParams& params)
{
CApplicationFonts oApplicationFonts;
initApplicationFonts(oApplicationFonts, params);
CPdfRenderer pdfWriter(&oApplicationFonts);
NSFonts::IApplicationFonts* pApplicationFonts = NSFonts::NSApplication::Create();
initApplicationFonts(pApplicationFonts, params);
CPdfRenderer pdfWriter(pApplicationFonts, params.getIsPDFA());
pdfWriter.SetTempFolder(sTemp);
pdfWriter.SetThemesPlace(sThemeDir);
std::wstring documentID = params.getDocumentID();
if (false == documentID.empty())
pdfWriter.SetDocumentID(documentID);
std::wstring password = params.getSavePassword();
if (false == password.empty())
pdfWriter.SetPassword(password);
int nReg = (bPaid == false) ? 0 : 1;
_UINT32 nRet = 0;
if (params.getIsNoBase64())
{
return S_OK == pdfWriter.OnlineWordToPdfFromBinary(sFrom, sTo) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
nRet = S_OK == pdfWriter.OnlineWordToPdfFromBinary(sFrom, sTo) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}
else
{
return S_OK == pdfWriter.OnlineWordToPdf(sFrom, sTo) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
nRet = S_OK == pdfWriter.OnlineWordToPdf(sFrom, sTo) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}
RELEASEOBJECT(pApplicationFonts);
return nRet;
}
_UINT32 bin2image (const std::wstring &sTFileDir, BYTE* pBuffer, LONG lBufferLen, const std::wstring &sTo, const std::wstring &sTemp, const std::wstring &sThemeDir, InputParams& params)
{
@ -1849,41 +1865,40 @@ namespace NExtractTools
// pptx -> odp
_UINT32 pptx2odp (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
// std::wstring sTempUnpackedPPTX = sTemp + FILE_SEPARATOR_STR + _T("pptx_unpacked");
// NSDirectory::CreateDirectory(sTempUnpackedPPTX);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedPPTX, NULL, 0))
// {
// return pptx_dir2odp(sTempUnpackedPPTX, sTo, sTemp, params);
// }
std::wstring sTempUnpackedPPTX = sTemp + FILE_SEPARATOR_STR + _T("pptx_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedPPTX);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedPPTX, NULL, 0))
{
return pptx_dir2odp(sTempUnpackedPPTX, sTo, sTemp, params);
}
return AVS_FILEUTILS_ERROR_CONVERT;
}
// pptx_dir -> odp
_UINT32 pptx_dir2odp (const std::wstring &sPptxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
return AVS_FILEUTILS_ERROR_CONVERT;
std::wstring sTempUnpackedODP = sTemp + FILE_SEPARATOR_STR + _T("odp_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedODP);
// std::wstring sTempUnpackedODP = sTemp + FILE_SEPARATOR_STR + _T("odp_unpacked");
// NSDirectory::CreateDirectory(sTempUnpackedODP);
//
// std::wstring password = params.getSavePassword();
//
// Oox2Odf::Converter converter(sPptxDir, _T("presentation"), params.getFontPath(), NULL);
//
// int nRes = 0;
// try
// {
// converter.convert();
// converter.write(sTempUnpackedODP, sTemp, password);
//
// COfficeUtils oCOfficeUtils(NULL);
// nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODP, sTo, false, password.empty() ? Z_DEFLATED : 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
// }catch(...)
// {
// nRes = AVS_FILEUTILS_ERROR_CONVERT;
// }
// return nRes;
Oox2Odf::Converter converter(sPptxDir, _T("presentation"), params.getFontPath(), NULL);
_UINT32 nRes = 0;
try
{
std::wstring password = params.getSavePassword();
std::wstring documentID = params.getDocumentID();
converter.convert();
converter.write(sTempUnpackedODP, sTemp, password, documentID);
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODP, sTo, false, password.empty() ? Z_DEFLATED : 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}catch(...)
{
nRes = AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
// rtf -> docx
_UINT32 rtf2docx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
@ -2242,139 +2257,194 @@ namespace NExtractTools
return nRes;
}
_UINT32 odf2oot_bin(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
// std::wstring sTempUnpackedOdf = sTemp + FILE_SEPARATOR_STR + L"odf_unpacked";
// std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + L"oox_unpacked";
//
// NSDirectory::CreateDirectory(sTempUnpackedOdf);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedOdf, NULL, 0))
// return -3;
//
// NSDirectory::CreateDirectory(sTempUnpackedOox);
//
// if (S_OK == ConvertOO2OOX(sTempUnpackedOdf, sTempUnpackedOox, params.getFontPath(), false, NULL))
// {
// BinDocxRW::CDocxSerializer m_oCDocxSerializer;
//
// m_oCDocxSerializer.setFontDir(params.getFontPath());
//
// int res = m_oCDocxSerializer.saveToFile (sTo, sTempUnpackedOox, params.getXmlOptions()) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
//
// return res;
// }
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 odf2oox(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
// std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + L"oox_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedOox);
//
// int nRes = odf2oox_dir(sFrom, sTempUnpackedOox, sTemp, params);
// if(SUCCEEDED_X2T(nRes))
// {
// COfficeUtils oCOfficeUtils(NULL);
// nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedOox, sTo, -1)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
// }
// return nRes;
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 odf2oox_dir(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
// std::wstring sTempUnpackedOdf = sTemp + FILE_SEPARATOR_STR + L"odf_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedOdf);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedOdf, NULL, 0))
// return AVS_FILEUTILS_ERROR_CONVERT;;
//
// return S_OK == ConvertOO2OOX(sTempUnpackedOdf, sTo, params.getFontPath(), false, NULL) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 odf2oot_bin(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOdf = sTemp + FILE_SEPARATOR_STR + _T("odf_unpacked");
std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + _T("oox_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOdf);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedOdf, NULL, 0))
return -3;
NSDirectory::CreateDirectory(sTempUnpackedOox);
_UINT32 nRes = ConvertODF2OOXml(sTempUnpackedOdf, sTempUnpackedOox, params.getFontPath(), sTemp, params.getPassword(), NULL);
nRes = processEncryptionError(nRes, sFrom, params);
if(SUCCEEDED_X2T(nRes))
{
BinDocxRW::CDocxSerializer m_oCDocxSerializer;
m_oCDocxSerializer.setFontDir(params.getFontPath());
nRes = m_oCDocxSerializer.saveToFile (sTo, sTempUnpackedOox, params.getXmlOptions()) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf2oox(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + _T("oox_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOox);
_UINT32 nRes = odf2oox_dir(sFrom, sTempUnpackedOox, sTemp, params);
if(SUCCEEDED_X2T(nRes))
{
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedOox, sTo, true)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf2oox_dir(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOdf = sTemp + FILE_SEPARATOR_STR + _T("odf_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOdf);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK != oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedOdf, NULL, 0))
return AVS_FILEUTILS_ERROR_CONVERT;;
_UINT32 nRes = ConvertODF2OOXml(sTempUnpackedOdf, sTo, params.getFontPath(), sTemp, params.getPassword(), NULL);
nRes = processEncryptionError(nRes, sFrom, params);
return nRes;
}
//odf flat
_UINT32 odf_flat2oot(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sResultDoctDir = sTemp + FILE_SEPARATOR_STR + _T("doct_unpacked");
std::wstring sResultDoctFileEditor = sResultDoctDir + FILE_SEPARATOR_STR + _T("Editor.bin");
NSDirectory::CreateDirectory(sResultDoctDir);
_UINT32 nRes = odf_flat2oot_bin(sFrom, sResultDoctFileEditor, sTemp, params);
if (SUCCEEDED_X2T(nRes))
{
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultDoctDir, sTo)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf_flat2oot_bin(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + _T("oox_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOox);
_UINT32 nRes = ConvertODF2OOXml(sFrom, sTempUnpackedOox, params.getFontPath(), sTemp, params.getPassword(), NULL);
nRes = processEncryptionError(nRes, sFrom, params);
if(SUCCEEDED_X2T(nRes))
{
BinDocxRW::CDocxSerializer m_oCDocxSerializer;
m_oCDocxSerializer.setFontDir(params.getFontPath());
nRes = m_oCDocxSerializer.saveToFile (sTo, sTempUnpackedOox, params.getXmlOptions()) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf_flat2oox(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sTempUnpackedOox = sTemp + FILE_SEPARATOR_STR + _T("oox_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedOox);
_UINT32 nRes = odf_flat2oox_dir(sFrom, sTempUnpackedOox, sTemp, params);
if(SUCCEEDED_X2T(nRes))
{
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedOox, sTo, true)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
_UINT32 odf_flat2oox_dir(const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
return AVS_FILEUTILS_ERROR_CONVERT;
//return ConvertODF2OOXml(sFrom, sTo, params.getFontPath(), sTemp, params.getPassword(), NULL);
_UINT32 nRes = ConvertODF2OOXml(sFrom, sTo, params.getFontPath(), sTemp, params.getPassword(), NULL);
nRes = processEncryptionError(nRes, sFrom, params);
return nRes;
}
// docx -> odt
_UINT32 docx2odt (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
// std::wstring sTempUnpackedDOCX = sTemp + FILE_SEPARATOR_STR + L"docx_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedDOCX);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedDOCX, NULL, 0))
// {
// return docx_dir2odt(sTempUnpackedDOCX, sTo, sTemp, params);
// }
// return AVS_FILEUTILS_ERROR_CONVERT;
return AVS_FILEUTILS_ERROR_CONVERT;
}
// docx dir -> odt
_UINT32 docx_dir2odt (const std::wstring &sDocxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
// std::wstring sTempUnpackedODT = sTemp + FILE_SEPARATOR_STR + L"odt_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedODT);
//
// Oox2Odf::Converter converter(sDocxDir, L"text", params.getFontPath(), NULL);
//
// int nRes = 0;
// try
// {
// converter.convert();
// converter.write(sTempUnpackedODT);
//
// COfficeUtils oCOfficeUtils(NULL);
// nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODT, sTo, -1)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
// }catch(...)
// {
// nRes = AVS_FILEUTILS_ERROR_CONVERT;
// }
// return nRes;
return 0;
}
// xlsx -> ods
_UINT32 xlsx2ods (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
// std::wstring sTempUnpackedXLSX = sTemp + FILE_SEPARATOR_STR + L"xlsx_unpacked";
//
// NSDirectory::CreateDirectory(sTempUnpackedXLSX);
//
// COfficeUtils oCOfficeUtils(NULL);
// if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedXLSX, NULL, 0))
// {
// return xlsx_dir2ods(sTempUnpackedXLSX, sTo, sTemp, params);
// }
// docx -> odt
_UINT32 docx2odt (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
std::wstring sTempUnpackedDOCX = sTemp + FILE_SEPARATOR_STR + _T("docx_unpacked");
NSDirectory::CreateDirectory(sTempUnpackedDOCX);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedDOCX, NULL, 0))
{
return docx_dir2odt(sTempUnpackedDOCX, sTo, sTemp, params);
}
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 xlsx_dir2ods (const std::wstring &sXlsxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
{
// std::wstring sTempUnpackedODS = sTemp + FILE_SEPARATOR_STR + L"ods_unpacked";
// NSDirectory::CreateDirectory(sTempUnpackedODS);
//
// try
// {
// Oox2Odf::Converter converter(sXlsxDir, L"spreadsheet",params.getFontPath(), NULL);
//
// converter.convert();
// converter.write(sTempUnpackedODS);
//
// COfficeUtils oCOfficeUtils(NULL);
// int nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODS, sTo, -1)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
//
// return nRes;
// }catch(...)
// {
// }
return AVS_FILEUTILS_ERROR_CONVERT;
}
}
// docx dir -> odt
_UINT32 docx_dir2odt (const std::wstring &sDocxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
std::wstring sTempUnpackedODT = sTemp + FILE_SEPARATOR_STR + L"odt_unpacked";
NSDirectory::CreateDirectory(sTempUnpackedODT);
Oox2Odf::Converter converter(sDocxDir, L"text", params.getFontPath(), NULL);
_UINT32 nRes = 0;
try
{
std::wstring password = params.getSavePassword();
std::wstring documentID = params.getDocumentID();
converter.convert();
converter.write(sTempUnpackedODT, sTemp, password, documentID);
COfficeUtils oCOfficeUtils(NULL);
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODT, sTo, false, password.empty() ? Z_DEFLATED : 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
}catch(...)
{
nRes = AVS_FILEUTILS_ERROR_CONVERT;
}
return nRes;
}
// xlsx -> ods
_UINT32 xlsx2ods (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params )
{
std::wstring sTempUnpackedXLSX = sTemp + FILE_SEPARATOR_STR + L"xlsx_unpacked";
NSDirectory::CreateDirectory(sTempUnpackedXLSX);
COfficeUtils oCOfficeUtils(NULL);
if (S_OK == oCOfficeUtils.ExtractToDirectory(sFrom, sTempUnpackedXLSX, NULL, 0))
{
return xlsx_dir2ods(sTempUnpackedXLSX, sTo, sTemp, params);
}
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 xlsx_dir2ods (const std::wstring &sXlsxDir, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
{
std::wstring sTempUnpackedODS = sTemp + FILE_SEPARATOR_STR + L"ods_unpacked";
NSDirectory::CreateDirectory(sTempUnpackedODS);
try
{
Oox2Odf::Converter converter(sXlsxDir, L"spreadsheet", params.getFontPath(), NULL);
std::wstring password = params.getSavePassword();
std::wstring documentID = params.getDocumentID();
converter.convert();
converter.write(sTempUnpackedODS, sTemp, password, documentID);
COfficeUtils oCOfficeUtils(NULL);
_UINT32 nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sTempUnpackedODS, sTo, false, password.empty() ? Z_DEFLATED : 0)) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
return nRes;
}catch(...)
{
}
return AVS_FILEUTILS_ERROR_CONVERT;
}
_UINT32 mscrypt2oot (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring & sTemp, InputParams& params)
{
std::wstring sResultOotDir = sTemp + FILE_SEPARATOR_STR + _T("oot_unpacked");
@ -3496,8 +3566,8 @@ namespace NExtractTools
_UINT32 fromCrossPlatform(const std::wstring &sFrom, int nFormatFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bFromChanges, bool bPaid, InputParams& params)
{
int nRes = 0;
CApplicationFonts oApplicationFonts;
initApplicationFonts(oApplicationFonts, params);
NSFonts::IApplicationFonts* pApplicationFonts = NSFonts::NSApplication::Create();
initApplicationFonts(pApplicationFonts, params);
if(AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF == nFormatTo)
{
if(nFormatFrom == nFormatTo)

View File

@ -29,13 +29,6 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//
// AppDelegate.h
// TestIOSX2tConverter
//
// Created by alexey.musinov on 01.04.15.
// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
//
#import <UIKit/UIKit.h>

View File

@ -29,13 +29,6 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//
// AppDelegate.m
// TestIOSX2tConverter
//
// Created by alexey.musinov on 01.04.15.
// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
//
#import "AppDelegate.h"

View File

@ -29,13 +29,6 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//
// ViewController.h
// TestIOSX2tConverter
//
// Created by alexey.musinov on 01.04.15.
// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
//
#import <UIKit/UIKit.h>

View File

@ -29,13 +29,6 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
//
// ViewController.m
// TestIOSX2tConverter
//
// Created by alexey.musinov on 01.04.15.
// Copyright (c) 2015 Ascensio System SIA. All rights reserved.
//
#import "ViewController.h"
@ -43,27 +36,30 @@
#import "OfficeFileErrorDescription.h"
@interface ViewController ()
@property (strong) NSString *fonts;
@property (strong) NSString *temp;
@end
@implementation ViewController
- (void)viewDidLoad
{
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"x2t version converter: %@", [X2tConverter version]);
NSLog(@"%@", [X2tConverter delimiters]);
NSLog(@"%@", [X2tConverter encodingings]);
self.fonts = @"/System/Library/Fonts";
self.temp = NSTemporaryDirectory();
[self testCSV];
[self testDOCX];
[self testXLSX];
[self testODT];
}
- (void)testDOCX
{
- (void)testDOCX {
{
NSLog(@"==================== OPEN EMPTY DOCX ====================");
@ -71,12 +67,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@empty.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
int result = [conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN EMPTY DOCX : %d",result);
} else {
@ -91,12 +85,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@demo.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
int result = [conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN DOCX : %d",result);
} else {
@ -111,12 +103,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@demo.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
[conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
[conv sdk_docx2doct_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
NSLog(@"%@",fullFileNameTo);
@ -128,14 +118,13 @@
X2tConverter* conv2 = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
[conv2 sdk_doct_bin2docx:fullFileNameTo nsTo:docxOut nsTemp:outTemp nsFontPath:fontsPath fromChanges:@(NO) nsThemeDir:@""];
[conv2 sdk_doct_bin2docx:fullFileNameTo nsTo:docxOut nsTemp:outTemp nsFontPath:self.fonts fromChanges:@(NO) nsThemeDir:@""];
NSLog(@"doct output: %@",fullFileNameTo);
}
}
- (void)testXLSX
{
- (void)testXLSX {
{
NSLog(@"==================== OPEN EMPTY XLSX ====================");
@ -143,12 +132,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@empty.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
int result = [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN EMPTY XLSX : %d",result);
} else {
@ -163,12 +150,10 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@price.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath];
int result = [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN XLSX : %d",result);
} else {
@ -183,13 +168,11 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@crypted.bin", NSTemporaryDirectory()];
NSString* tempDir = NSTemporaryDirectory();
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.password = @"555";
conv.isNoBase64 = YES;
if ((int)AVS_FILEUTILS_ERROR_CONVERT_PASSWORD == [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:tempDir nsFontPath:fontsPath]) {
if ((int)AVS_FILEUTILS_ERROR_CONVERT_PASSWORD == [conv sdk_xlsx2xlst_bin:fullFileName nsTo:fullFileNameTo nsTemp:self.temp nsFontPath:self.fonts]) {
NSLog(@"Error password : %@",conv.password);
}
@ -206,13 +189,12 @@
NSString* fullFileName = path;
NSString* fullFileNameTo = [NSString stringWithFormat:@"%@test.bin", NSTemporaryDirectory()];
NSString* fontsPath = @"/System/Library/Fonts";
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
conv.delimiter = @(4);
conv.encoding = @(46);
int result = [conv sdk_csv2xlst_bin:fullFileName nsTo:fullFileNameTo nsFontPath:fontsPath];
int result = [conv sdk_csv2xlst_bin:fullFileName nsTo:fullFileNameTo nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR OPEN CSV : %d",result);
} else {
@ -221,16 +203,120 @@
}
}
- (void)didReceiveMemoryWarning
{
- (void)testODT {
{
NSLog(@"==================== ODT TO DOCX ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"odt"];
NSString* to = [NSString stringWithFormat:@"%@test_odt_to_docx.docx", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_odf2oox:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR ODT TO DOCX : %d",result);
} else {
NSLog(@"odt output : %@", to);
}
}
{
NSLog(@"==================== DOCX TO ODT ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"docx"];
NSString* to = [NSString stringWithFormat:@"%@docx_to_odt_test.odt", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_docx2odt:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR DOCX TO ODT : %d",result);
} else {
NSLog(@"odt output : %@", to);
}
}
{
NSLog(@"==================== ODS TO XLSX ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"ods"];
NSString* to = [NSString stringWithFormat:@"%@test_ods_to_xlsx.xlsx", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_odf2oox:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR ODS TO XLSX : %d",result);
} else {
NSLog(@"ods output : %@", to);
}
}
{
NSLog(@"==================== XLSX TO ODS ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"price" ofType:@"xlsx"];
NSString* to = [NSString stringWithFormat:@"%@xlsx_to_ods_test.ods", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_xlsx2ods:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR XLSX TO ODS : %d",result);
} else {
NSLog(@"ods output : %@", to);
}
}
{
NSLog(@"==================== ODP TO PPTX ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"odp"];
NSString* to = [NSString stringWithFormat:@"%@test_odp_to_pptx.pptx", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_odf2oox:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR ODP TO PPTX : %d",result);
} else {
NSLog(@"odp output : %@", to);
}
}
{
NSLog(@"==================== PPTX TO ODP ====================");
NSString* from = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"pptx"];
NSString* to = [NSString stringWithFormat:@"%@pptx_to_odp_test.odp", NSTemporaryDirectory()];
NSString* temp = NSTemporaryDirectory();
X2tConverter* conv = [[X2tConverter alloc]init];
conv.isNoBase64 = YES;
int result = [conv sdk_pptx2odp:from nsTo:to nsTemp:temp nsFontPath:self.fonts];
if (result != 0) {
NSLog(@"ERROR PPTX TO ODP : %d",result);
} else {
NSLog(@"odp output : %@", to);
}
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
#pragma mark -
#pragma Utils
- (void)clearDirectory:(NSString*)directory
{
- (void)clearDirectory:(NSString*)directory {
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = nil;
for (NSString *file in [fm contentsOfDirectoryAtPath:directory error:&error]) {
@ -241,8 +327,7 @@
}
}
- (void)createDirectory:(NSString*)directory
{
- (void)createDirectory:(NSString*)directory {
NSFileManager *fileManager= [NSFileManager defaultManager];
NSError *error = nil;
if(![fileManager createDirectoryAtPath:directory withIntermediateDirectories:YES attributes:nil error:&error]) {

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -24,6 +24,11 @@
699690731E2F925200B620CD /* libc++abi.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 699690721E2F925200B620CD /* libc++abi.tbd */; };
69BE370C1F60129600CBA47B /* crypted.xlsx in Resources */ = {isa = PBXBuildFile; fileRef = 69BE370B1F60129600CBA47B /* crypted.xlsx */; };
8A94F3CB207CE7D600EC05D2 /* test.csv in Resources */ = {isa = PBXBuildFile; fileRef = 8A94F3C9207CE7D600EC05D2 /* test.csv */; };
8AC4E6EF22058B2A0044119A /* boost.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AC4E6EE22058B290044119A /* boost.framework */; };
8AC4E6F52205999B0044119A /* test.odt in Resources */ = {isa = PBXBuildFile; fileRef = 8AC4E6F22205999B0044119A /* test.odt */; };
8AC4E6F62205999B0044119A /* test.ods in Resources */ = {isa = PBXBuildFile; fileRef = 8AC4E6F32205999B0044119A /* test.ods */; };
8AC4E6F72205999B0044119A /* test.odp in Resources */ = {isa = PBXBuildFile; fileRef = 8AC4E6F42205999B0044119A /* test.odp */; };
8AC4E7282205A4D10044119A /* demo.pptx in Resources */ = {isa = PBXBuildFile; fileRef = 8AC4E7272205A4D10044119A /* demo.pptx */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -70,6 +75,11 @@
8A1045C520F4B55F005A0F61 /* libicuuc.58.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicuuc.58.dylib; path = ../../../Common/3dParty/icu/mac_64/build/libicuuc.58.dylib; sourceTree = "<group>"; };
8A94F3C9207CE7D600EC05D2 /* test.csv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = test.csv; sourceTree = "<group>"; };
8A9FAD36207781C5007787F6 /* OfficeFileErrorDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OfficeFileErrorDescription.h; path = ../../../../Common/OfficeFileErrorDescription.h; sourceTree = "<group>"; };
8AC4E6EE22058B290044119A /* boost.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = boost.framework; path = ../../../Common/3dParty/boost/ios/framework/boost.framework; sourceTree = "<group>"; };
8AC4E6F22205999B0044119A /* test.odt */ = {isa = PBXFileReference; lastKnownFileType = file; path = test.odt; sourceTree = "<group>"; };
8AC4E6F32205999B0044119A /* test.ods */ = {isa = PBXFileReference; lastKnownFileType = file; path = test.ods; sourceTree = "<group>"; };
8AC4E6F42205999B0044119A /* test.odp */ = {isa = PBXFileReference; lastKnownFileType = file; path = test.odp; sourceTree = "<group>"; };
8AC4E7272205A4D10044119A /* demo.pptx */ = {isa = PBXFileReference; lastKnownFileType = file; path = demo.pptx; sourceTree = "<group>"; };
8AED79AA20F50164008BB78E /* libicui18n.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libicui18n.a; path = "../../../../../Downloads/icu-ios-master/build-universal/libicui18n.a"; sourceTree = "<group>"; };
8AED79AC20F50164008BB78E /* libicuio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libicuio.a; path = "../../../../../Downloads/icu-ios-master/build-universal/libicuio.a"; sourceTree = "<group>"; };
8AED79AD20F50164008BB78E /* libicutu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libicutu.a; path = "../../../../../Downloads/icu-ios-master/build-universal/libicutu.a"; sourceTree = "<group>"; };
@ -84,6 +94,7 @@
699690731E2F925200B620CD /* libc++abi.tbd in Frameworks */,
6967BEB31E27D5BE00A129E2 /* libiconv.tbd in Frameworks */,
69920A431E016FAB00E7E6EE /* libX2tConverter.a in Frameworks */,
8AC4E6EF22058B2A0044119A /* boost.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -147,14 +158,18 @@
17DAB70A1ACC3B58005AF479 /* Files */ = {
isa = PBXGroup;
children = (
17DAB70D1ACC3B90005AF479 /* demo.docx */,
8AC4E7272205A4D10044119A /* demo.pptx */,
69BE370B1F60129600CBA47B /* crypted.xlsx */,
177B1B461B5FCD34001FC26F /* shapes.xlsx */,
1773201E1B4FB9B700BB22FC /* price.xlsx */,
1734C9A51B4C251D00C2A6C8 /* smeta.xlsx */,
17DAB70D1ACC3B90005AF479 /* demo.docx */,
697CDFE72049649800C2638C /* empty.docx */,
697CDFE92049649800C2638C /* empty.xlsx */,
8A94F3C9207CE7D600EC05D2 /* test.csv */,
8AC4E6F42205999B0044119A /* test.odp */,
8AC4E6F32205999B0044119A /* test.ods */,
8AC4E6F22205999B0044119A /* test.odt */,
);
name = Files;
sourceTree = "<group>";
@ -162,6 +177,7 @@
6967BEB11E27D5BE00A129E2 /* Frameworks */ = {
isa = PBXGroup;
children = (
8AC4E6EE22058B290044119A /* boost.framework */,
8AED79AA20F50164008BB78E /* libicui18n.a */,
8AED79AC20F50164008BB78E /* libicuio.a */,
8AED79AD20F50164008BB78E /* libicutu.a */,
@ -260,14 +276,18 @@
buildActionMask = 2147483647;
files = (
8A94F3CB207CE7D600EC05D2 /* test.csv in Resources */,
8AC4E6F72205999B0044119A /* test.odp in Resources */,
8AC4E6F52205999B0044119A /* test.odt in Resources */,
69BE370C1F60129600CBA47B /* crypted.xlsx in Resources */,
17DAB6871ACC371F005AF479 /* Main.storyboard in Resources */,
17DAB68C1ACC371F005AF479 /* LaunchScreen.xib in Resources */,
8AC4E7282205A4D10044119A /* demo.pptx in Resources */,
17DAB6891ACC371F005AF479 /* Images.xcassets in Resources */,
697CDFEA2049649800C2638C /* empty.docx in Resources */,
1734C9A61B4C251D00C2A6C8 /* smeta.xlsx in Resources */,
697CDFEB2049649800C2638C /* empty.xlsx in Resources */,
177B1B471B5FCD34001FC26F /* shapes.xlsx in Resources */,
8AC4E6F62205999B0044119A /* test.ods in Resources */,
1773201F1B4FB9B700BB22FC /* price.xlsx in Resources */,
17DAB70E1ACC3B96005AF479 /* demo.docx in Resources */,
);
@ -436,6 +456,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEVELOPMENT_TEAM = 2WH24U26GJ;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../../../Common/3dParty/boost/ios/framework";
INFOPLIST_FILE = TestIOSX2tConverter/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@ -461,6 +482,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEVELOPMENT_TEAM = 2WH24U26GJ;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../../../Common/3dParty/boost/ios/framework";
INFOPLIST_FILE = TestIOSX2tConverter/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";

View File

@ -50,6 +50,8 @@
#include "../../ASCOfficePPTXFile/PPTXFormat/Theme.h"
#include "../../ASCOfficePPTXFile/Editor/Drawing/Shapes/BaseShape/Common.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/App.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/Core.h"
#include "../../Common/DocxFormat/Source/XlsxFormat/Workbook/Workbook.h"
#include "../../Common/DocxFormat/Source/XlsxFormat/Worksheets/Worksheet.h"
@ -69,6 +71,8 @@
#include "../../Common/DocxFormat/Source/DocxFormat/Media/VbaProject.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Media/JsaProject.h"
#include "../../Common/DocxFormat/Source/DocxFormat/VmlDrawing.h"
#include "../../Common/DocxFormat/Source/DocxFormat/App.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Core.h"
namespace BinXlsxRW
{
@ -5063,6 +5067,30 @@ namespace BinXlsxRW
oBufferedStream.Seek(mtiOffBits);
switch(mtiType)
{
case c_oSerTableTypes::App:
{
PPTX::App oApp(NULL);
oBufferedStream.Skip(1); // type
oApp.fromPPTY(&oBufferedStream);
OOX::CApp* pApp = new OOX::CApp(NULL);
pApp->FromPptxApp(&oApp);
pApp->SetRequiredDefaults();
oXlsx.m_pApp = pApp;
oXlsx.Add(smart_ptr<OOX::File>(pApp));
}
break;
case c_oSerTableTypes::Core:
{
PPTX::Core oCore(NULL);
oBufferedStream.Skip(1); // type
oCore.fromPPTY(&oBufferedStream);
OOX::CCore* pCore = new OOX::CCore(NULL);
pCore->FromPptxCore(&oCore);
pCore->SetRequiredDefaults();
oXlsx.m_pCore = pCore;
oXlsx.Add( smart_ptr<OOX::File>(pCore));
}
break;
case c_oSerTableTypes::Styles:
{
oXlsx.CreateStyles();