Commit 191f246f authored by Ivan.Shulga's avatar Ivan.Shulga Committed by Alexander Trofimov

git-svn-id:...

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@52251 954022d7-b5bf-4e40-9824-e11837661b57
parent 5ba15272
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
#include "StreamUtils.h" #include "StreamUtils.h"
#include "BinReaderWriterDefines.h" #include "BinReaderWriterDefines.h"
#include "../DocWrapper/FontProcessor.h" #include "../DocWrapper/FontProcessor.h"
#include "../../../../Common/Base64.h" #include "../../Common/Base64.h"
#include "../../AVSOfficeStudio/AVSOfficePPTXFile/Editor/FontCutter.h" #include "../../ASCOfficePPTXFile/Editor/FontCutter.h"
#include "../../TeamlabOffice/trunk/XlsxSerializerCom/Reader/BinaryWriter.h" #include "../../../XlsxSerializerCom/Reader/BinaryWriter.h"
namespace BinDocxRW namespace BinDocxRW
{ {
......
#pragma once #pragma once
#include "..\..\..\..\Common\MemoryUtils.h" #include "..\..\Common\MemoryUtils.h"
namespace Streams namespace Streams
{ {
......
#include "stdafx.h" #include "stdafx.h"
#include "FontProcessor.h" #include "FontProcessor.h"
#include "AVSUtils.h" #include "../../Common/ASCUtils.h"
#include "Foreign/StringWriter.h" #include "Foreign/StringWriter.h"
using AVSGraphics::CAVSFontManager; using AVSGraphics::CAVSFontManager;
......
#pragma once #pragma once
#include "resource.h" // main symbols #include "resource.h" // main symbols
#include "..\..\AVSVideoStudio3\Common\AVSUtils.h" #include "..\Common\ASCUtils.h"
#include "..\..\..\..\Common\MappingFile.h" #include "..\Common\MappingFile.h"
#include "BinWriter/BinWriters.h" #include "BinWriter/BinWriters.h"
#include "BinReader/Readers.h" #include "BinReader/Readers.h"
......
...@@ -48,16 +48,16 @@ ...@@ -48,16 +48,16 @@
#define __USE_XML_COMMON__ #define __USE_XML_COMMON__
using namespace ATL; using namespace ATL;
#include "AvsUtils.h" #include "../Common/ASCUtils.h"
#include "../../AVSImageStudio3/AVSGraphics/Interfaces/AVSRenderer.h" #include "../../../../AVSImageStudio3/AVSGraphics/Interfaces/AVSRenderer.h"
#import "../../../Redist/AVSMediaCore3.dll" named_guids raw_interfaces_only rename_namespace("MediaCore"), exclude("tagRECT") #import "../../../../../Redist/AVSMediaCore3.dll" named_guids raw_interfaces_only rename_namespace("MediaCore"), exclude("tagRECT")
#import "../../../Redist/AVSImageStudio3.dll" named_guids raw_interfaces_only rename_namespace("AVSImageStudio") #import "../../../../../Redist/AVSImageStudio3.dll" named_guids raw_interfaces_only rename_namespace("AVSImageStudio")
#import "../../../Redist/AVSOfficeStudio/AVSFontConverter.dll" named_guids raw_interfaces_only rename_namespace("Fonts") #import "../../../../../Redist/AVSOfficeStudio/AVSFontConverter.dll" named_guids raw_interfaces_only rename_namespace("Fonts")
#import "../../../Redist/AVSOfficeStudio/AVSOfficePPTXFile.dll" raw_interfaces_only rename_namespace("PPTXFile") #import "../../../../../Redist/AVSOfficeStudio/AVSOfficePPTXFile.dll" raw_interfaces_only rename_namespace("PPTXFile")
#ifdef SOLUTION_AVSOFFICEDOCXFILE2 #ifdef SOLUTION_ASCOFFICEDOCXFILE2
#import "..\..\..\..\Redist\AVSGraphics.dll" named_guids raw_interfaces_only rename_namespace("AVSGraphics")//, exclude(IAVSRenderer) #import "../../../../../Redist\AVSGraphics.dll" named_guids raw_interfaces_only rename_namespace("AVSGraphics")//, exclude(IAVSRenderer)
#endif #endif
#include "../Common/DocxFormat/Source/DocxFormat/Docx.h" #include "../Common/DocxFormat/Source/DocxFormat/Docx.h"
......
#pragma once
#include "resource.h"
#include "../../../AVSOfficeStudio/Common/OfficeFileTemplate.h"
#include "Reader/BinaryWriter.h"
#include "Reader/FontProcessor.h"
#include "Writer/BinaryReader.h"
[
object,
uuid("87476A4D-6A42-44e9-A947-42B8E8613070"),
dual, helpstring("IAVSOfficeXlsxSerizer Interface"),
pointer_default(unique)
]
__interface IAVSOfficeXlsxSerizer : public IAVSOfficeFileTemplate
{
[id(20)] HRESULT SetFontDir([in] BSTR bsFontDir);
[id(30)] HRESULT LoadChart([in] BSTR bsFilename, [out, satype("BYTE")] SAFEARRAY** ppBinary);
[id(31)] HRESULT SaveChart([in, satype("BYTE")] SAFEARRAY* pBinaryObj, [in] LONG lStart, [in] LONG lLength, [in] BSTR bsFilename, [in] BSTR bsContentTypePath, [out] BSTR* bsContentTypeElement);
[id(32)] HRESULT SetDrawingConverter([in] IUnknown* pDocument);
[id(120)] HRESULT SetAdditionalParam([in] BSTR ParamName, [in] VARIANT ParamValue);
[id(130)] HRESULT GetAdditionalParam([in] BSTR ParamName, [out, retval] VARIANT* ParamValue);
};
[
coclass,
default(IAVSOfficeXlsxSerizer),
event_receiver(native),
threading(apartment),
vi_progid("AVSOfficeXlsxSerizer.AVSDocume"),
progid("AVSOfficeXlsxSerizer.AVSDocu.1"),
version(1.0),
uuid("2A6514F2-0C01-4759-89CB-68C38669337D"),
helpstring("AVSOfficeXlsxSerizer Class")
]
class ATL_NO_VTABLE CAVSOfficeXlsxSerizer : public IAVSOfficeXlsxSerizer
{
private:
CString m_strEmbeddedFontsDirectory;
PPTXFile::IAVSOfficeDrawingConverter* m_pExternalDrawingConverter;
public:
CAVSOfficeXlsxSerizer()
{
}
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
m_pExternalDrawingConverter = NULL;
return S_OK;
}
void FinalRelease()
{
RELEASEINTERFACE(m_pExternalDrawingConverter);
}
public:
STDMETHOD(LoadFromFile)(BSTR sSrcFileName, BSTR sDstPath, BSTR sXMLOptions)
{
PPTXFile::IAVSOfficeDrawingConverter* pOfficeDrawingConverter;
CoCreateInstance(__uuidof(PPTXFile::CAVSOfficeDrawingConverter), NULL, CLSCTX_ALL, __uuidof(PPTXFile::IAVSOfficeDrawingConverter), (void**)(&pOfficeDrawingConverter));
CString sMediaDir = sDstPath;
sMediaDir.Append(_T("\\xl\\media"));
BSTR bstrMediaDir = sMediaDir.AllocSysString();
pOfficeDrawingConverter->SetMediaDstPath(bstrMediaDir);
SysFreeString(bstrMediaDir);
//
TCHAR tFolder[256];
TCHAR tDrive[256];
_tsplitpath( sSrcFileName, tDrive, tFolder, NULL, NULL );
CString sFolder = CString(tFolder);
CString sDrive = CString(tDrive);
CString sFileInDir = sDrive + sFolder;
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = sFileInDir.AllocSysString();
pOfficeDrawingConverter->SetAdditionalParam(L"SourceFileDir", var);
RELEASESYSSTRING(var.bstrVal);
// temp ,
CString sTempTheme = CreateTheme();
BinXlsxRW::BinaryFileReader oBinaryFileReader;
oBinaryFileReader.ReadFile(sSrcFileName, sDstPath, sTempTheme, pOfficeDrawingConverter);
::DeleteFile(sTempTheme);
RELEASEINTERFACE(pOfficeDrawingConverter);
return S_OK;
}
STDMETHOD(SaveToFile)(BSTR sDstFileName, BSTR sSrcPath, BSTR sXMLOptions)
{
CString sFontDir = m_oFontProcessor.getFontDir();
PPTXFile::IOfficeFontPicker* pFontPicker = NULL;
CoCreateInstance(__uuidof(PPTXFile::COfficeFontPicker), NULL, CLSCTX_ALL, __uuidof(PPTXFile::IOfficeFontPicker), (void**)(&pFontPicker));
BSTR bstrFontDir1 = sFontDir.AllocSysString();
pFontPicker->Init(bstrFontDir1);
SysFreeString(bstrFontDir1);
NSFontCutter::CEmbeddedFontsManager* pEmbeddedFontsManager = NULL;
if(false == m_strEmbeddedFontsDirectory.IsEmpty())
{
CreateDirectoryW(m_strEmbeddedFontsDirectory, NULL);
BSTR bstrEmbeddedFontsDirectory = m_strEmbeddedFontsDirectory.AllocSysString();
pFontPicker->SetEmbeddedFontsDirectory(bstrEmbeddedFontsDirectory);
SysFreeString(bstrEmbeddedFontsDirectory);
VARIANT vt;
pFontPicker->GetAdditionalParam(_T("NativeCutter"), &vt);
pEmbeddedFontsManager = (NSFontCutter::CEmbeddedFontsManager*)vt.pvRecord;
AVSGraphics::IAVSFontManager* pFontManager = m_oFontProcessor.getFontManager();
//
pEmbeddedFontsManager->CheckFont(_T("Wingdings 3"), pFontManager);
pEmbeddedFontsManager->CheckFont(_T("Arial"), pFontManager);
//pEmbeddedFontsManager
//
pEmbeddedFontsManager->CheckFont(_T("Calibri"), pFontManager);
pEmbeddedFontsManager->CheckString(CString(_T("ABCDEFGHIJKLMNOPQRSTUVWXYZ")));
// "#NULL!", "#DIV/0!"...
pEmbeddedFontsManager->CheckString(CString(_T("#!/?")));
// num id 0 49
pEmbeddedFontsManager->CheckString(CString(_T(".%E+-():")));
}
PPTXFile::IAVSOfficeDrawingConverter* pOfficeDrawingConverter;
CoCreateInstance(__uuidof(PPTXFile::CAVSOfficeDrawingConverter), NULL, CLSCTX_ALL, __uuidof(PPTXFile::IAVSOfficeDrawingConverter), (void**)(&pOfficeDrawingConverter));
BSTR bstrFontDir = sFontDir.AllocSysString();
pOfficeDrawingConverter->SetFontDir(bstrFontDir);
SysFreeString(bstrFontDir);
VARIANT vt;
vt.vt = VT_UNKNOWN;
vt.punkVal = pFontPicker;
pOfficeDrawingConverter->SetAdditionalParam(_T("FontPicker"), vt);
BinXlsxRW::BinaryFileWriter oBinaryFileWriter(m_oFontProcessor);
oBinaryFileWriter.Open(CString(sSrcPath), CString(sDstFileName), pEmbeddedFontsManager, pOfficeDrawingConverter);
RELEASEINTERFACE(pFontPicker);
RELEASEINTERFACE(pOfficeDrawingConverter);
return S_OK;
}
STDMETHOD(LoadChart)(BSTR bsFilename, SAFEARRAY** ppBinary)
{
HRESULT hRes = S_FALSE;
*ppBinary = NULL;
CString sChartPath(bsFilename);
OOX::Spreadsheet::CChartSpace oChart(sChartPath);
if(oChart.m_oChart.IsInit() && oChart.m_oChart->isValid() && NULL != m_pExternalDrawingConverter)
{
long nGrowSize = 1 * 1024 * 1024;//1
Streams::CBuffer oBuffer;
oBuffer.Create(nGrowSize, nGrowSize);
Streams::CBufferedStream oBufferedStream;
oBufferedStream.SetBuffer(&oBuffer);
BinXlsxRW::BinaryCommonWriter oBcw(oBufferedStream);
BSTR bstrChartPath = sChartPath.AllocSysString();
m_pExternalDrawingConverter->SetRelsPath(bstrChartPath);
SysFreeString(bstrChartPath);
BinXlsxRW::BinaryChartWriter oBinaryChartWriter(oBufferedStream, m_pExternalDrawingConverter);
oBinaryChartWriter.Write(oChart);
ULONG lBinarySize = oBufferedStream.GetPosition();
SAFEARRAY* pArray = SafeArrayCreateVector(VT_UI1, lBinarySize);
BYTE* pDataD = (BYTE*)pArray->pvData;
BYTE* pDataS = oBufferedStream.GetBuffer();
memcpy(pDataD, pDataS, lBinarySize);
*ppBinary = pArray;
hRes = S_OK;
}
return hRes;
}
STDMETHOD(SaveChart)(SAFEARRAY* pBinaryObj, LONG lStart, LONG lLength, BSTR bsFilename, BSTR bsContentTypePath, BSTR* bsContentTypeElement)
{
HRESULT hRes = S_FALSE;
*bsContentTypeElement = NULL;
if(NULL != m_pExternalDrawingConverter)
{
Streams::CBuffer oBuffer;
Streams::CBufferedStream oBufferedStream;
oBufferedStream.SetBuffer(&oBuffer);
oBufferedStream.Create((BYTE*)pBinaryObj->pvData + lStart, lLength);
m_pExternalDrawingConverter->SetDstContentRels();
OOX::Spreadsheet::CChartSpace oChartSpace;
oChartSpace.m_oChart.Init();
BinXlsxRW::BinaryChartReader oBinaryChartReader(oBufferedStream, pBinaryObj, m_pExternalDrawingConverter);
oBinaryChartReader.ReadChartOut(lLength, &oChartSpace);
if(oChartSpace.isValid())
{
TCHAR tDrive[256];
TCHAR tFolder[256];
TCHAR tFilename[256];
TCHAR tExt[256];
_tsplitpath( bsFilename, tDrive, tFolder, tFilename, tExt );
CString sDrive(tDrive);
CString sFolder(tFolder);
CString sFilename(tFilename);
CString sExt(tExt);
CString sRelsDir = sDrive + sFolder;
sRelsDir.Append(_T("_rels"));
DWORD dwFileAttr = ::GetFileAttributes( sRelsDir );
if( dwFileAttr == INVALID_FILE_ATTRIBUTES )
OOX::CSystemUtility::CreateDirectories(sRelsDir);
oChartSpace.write2(CString(bsFilename));
CString sRelsPath;
sRelsPath.Format(_T("%s\\%s.rels"), sRelsDir, sFilename + sExt);
BSTR bstrRelsPath = sRelsPath.AllocSysString();
m_pExternalDrawingConverter->SaveDstContentRels(bstrRelsPath);
SysFreeString(bstrRelsPath);
CString sContentTypePath(bsContentTypePath);
sContentTypePath.Append(sFilename);
sContentTypePath.Append(sExt);
CString sContentTypeXml;
sContentTypeXml.Format(_T("<Override PartName=\"%s\" ContentType=\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\"/>"), sContentTypePath);
*bsContentTypeElement = sContentTypeXml.AllocSysString();
hRes = S_OK;
}
}
return hRes;
}
STDMETHOD(SetDrawingConverter)(IUnknown* pDocument)
{
RELEASEINTERFACE(m_pExternalDrawingConverter);
pDocument->QueryInterface(__uuidof(PPTXFile::IAVSOfficeDrawingConverter), (void**)&m_pExternalDrawingConverter);
return S_OK;
}
STDMETHOD(SetFontDir)(BSTR bsMediaDir)
{
m_oFontProcessor.setFontDir(bsMediaDir);
return S_OK;
}
STDMETHOD(SetAdditionalParam)(BSTR ParamName, VARIANT ParamValue)
{
CString sParamName; sParamName = ParamName;
if (_T("EmbeddedFontsDirectory") == sParamName && ParamValue.vt == VT_BSTR)
{
m_strEmbeddedFontsDirectory = ParamValue.bstrVal;
return S_OK;
}
return S_OK;
}
STDMETHOD(GetAdditionalParam)(BSTR ParamName, VARIANT* ParamValue)
{
return S_OK;
}
private:
CString CreateTheme()
{
HINSTANCE hInst = _AtlBaseModule.GetModuleInstance();
CString sThemePath;
char sTempPath[MAX_PATH], sTempFile[MAX_PATH];
if ( 0 == GetTempPathA( MAX_PATH, sTempPath ) )
return sThemePath;
if ( 0 == GetTempFileNameA( sTempPath, NULL, 0, sTempFile ) )
return sThemePath;
sThemePath = sTempFile;
LoadResourceFile(hInst, MAKEINTRESOURCE(IDB_DEFAULT_XLSX_THEME), _T("XLSXSER"), sThemePath);
return sThemePath;
}
void LoadResourceFile(HINSTANCE hInst, LPCTSTR sResName, LPCTSTR sResType, const CString& strDstFile)
{
HRSRC hrRes = FindResource(hInst, sResName, sResType);
if (!hrRes)
return;
HGLOBAL hGlobal = LoadResource(hInst, hrRes);
DWORD sz = SizeofResource(hInst, hrRes);
void* ptrRes = LockResource(hGlobal);
CFile oFile;
oFile.CreateFile(strDstFile);
oFile.WriteFile(ptrRes, sz);
UnlockResource(hGlobal);
FreeResource(hGlobal);
}
private:
BinXlsxRW::FontProcessor m_oFontProcessor;
};
\ No newline at end of file
#pragma once
namespace BinXlsxRW
{
const double g_dKoef_mm_to_pt = 72 / (2.54 * 10);
const double g_dKoef_mm_to_twips = 20 * g_dKoef_mm_to_pt;
const double g_dKoef_mm_to_emu = 36000;
const double g_dKoef_mm_to_eightpoint = 8 * g_dKoef_mm_to_pt;
const static TCHAR* g_sFormatSignature = _T("XLSY");
const int g_nFormatVersion = 2;
namespace c_oSerConstants{enum c_oSerConstants
{
ErrorFormat = -2,
ErrorUnknown = -1,
ReadOk = 0,
ReadUnknown = 1,
ErrorStream = 0x55
};}
namespace c_oSerPropLenType{enum c_oSerPropLenType
{
Null = 0,
Byte = 1,
Short = 2,
Three = 3,
Long = 4,
Double = 5,
Variable = 6
};}
namespace c_oSerTableTypes{enum c_oSerTableTypes
{
Other = 0,
SharedStrings = 1,
Styles = 2,
Workbook = 3,
Worksheets = 4,
CalcChain = 5
};}
namespace c_oSerStylesTypes{enum c_oSerStylesTypes
{
Borders = 0,
Border = 1,
CellXfs = 2,
Xfs = 3,
Fills = 4,
Fill = 5,
Fonts = 6,
Font = 7,
NumFmts = 8,
NumFmt = 9,
Dxfs = 10,
Dxf = 11,
TableStyles = 12,
CellStyleXfs = 14,
CellStyles = 15,
CellStyle = 16
};}
namespace c_oSerBorderTypes{enum c_oSerBorderTypes
{
Bottom = 0,
Diagonal = 1,
End = 2,
Horizontal = 3,
Start = 4,
Top = 5,
Vertical = 6,
DiagonalDown = 7,
DiagonalUp = 8,
Outline = 9
};}
namespace c_oSerBorderPropTypes{enum c_oSerBorderPropTypes
{
Color = 0,
Style = 1
};}
namespace c_oSerXfsTypes{enum c_oSerXfsTypes
{
ApplyAlignment = 0,
ApplyBorder = 1,
ApplyFill = 2,
ApplyFont = 3,
ApplyNumberFormat = 4,
ApplyProtection = 5,
BorderId = 6,
FillId = 7,
FontId = 8,
NumFmtId = 9,
PivotButton = 10,
QuotePrefix = 11,
XfId = 12,
Aligment = 13,
Protection = 14
};}
namespace c_oSerAligmentTypes{enum c_oSerAligmentTypes
{
Horizontal = 0,
Indent = 1,
JustifyLastLine = 2,
ReadingOrder = 3,
RelativeIndent = 4,
ShrinkToFit = 5,
TextRotation = 6,
Vertical = 7,
WrapText = 8
};}
namespace c_oSerFillTypes{enum c_oSerFillTypes
{
PatternFill = 0,
PatternFillBgColor = 1
};}
namespace c_oSerFontTypes{enum c_oSerFontTypes
{
Bold = 0,
Color = 1,
Italic = 3,
RFont = 4,
Strike = 5,
Sz = 6,
Underline = 7,
VertAlign = 8,
Scheme = 9
};}
namespace c_oSerNumFmtTypes{enum c_oSerNumFmtTypes
{
FormatCode = 0,
NumFmtId = 1
};}
namespace c_oSerSharedStringTypes{enum c_oSerSharedStringTypes
{
Si = 0,
Run = 1,
RPr = 2,
Text = 3,
};}
namespace c_oSerWorkbookTypes{enum c_oSerWorkbookTypes
{
WorkbookPr = 0,
BookViews = 1,
WorkbookView = 2,
DefinedNames = 3,
DefinedName = 4
};}
namespace c_oSerWorkbookPrTypes{enum c_oSerWorkbookPrTypes
{
Date1904 = 0,
DateCompatibility = 1,
};}
namespace c_oSerWorkbookViewTypes{enum c_oSerWorkbookViewTypes
{
ActiveTab = 0
};}
namespace c_oSerDefinedNameTypes{enum c_oSerDefinedNameTypes
{
Name = 0,
Ref = 1,
LocalSheetId = 2
};}
namespace c_oSerWorksheetsTypes{enum c_oSerWorksheetsTypes
{
Worksheet = 0,
WorksheetProp = 1,
Cols = 2,
Col = 3,
Dimension = 4,
Hyperlinks = 5,
Hyperlink = 6,
MergeCells = 7,
MergeCell = 8,
SheetData = 9,
Row = 10,
SheetFormatPr = 11,
Drawings = 12,
Drawing = 13,
PageMargins = 14,
PageSetup = 15,
PrintOptions = 16,
Autofilter = 17,
TableParts = 18,
Comments = 19,
Comment = 20,
ConditionalFormatting = 21,
SheetViews = 22,
SheetView = 23,
SheetPr = 24
};}
namespace c_oSerWorksheetPropTypes{enum c_oSerWorksheetPropTypes
{
Name = 0,
SheetId = 1,
State = 2
};}
namespace c_oSerWorksheetColTypes{enum c_oSerWorksheetColTypes
{
BestFit = 0,
Hidden = 1,
Max = 2,
Min = 3,
Style = 4,
Width = 5,
CustomWidth = 6
};}
namespace c_oSerHyperlinkTypes{enum c_oSerWorksheetColTypes
{
Ref = 0,
Hyperlink = 1,
Location = 2,
Tooltip = 3
};}
namespace c_oSerSheetFormatPrTypes{enum c_oSerSheetFormatPrTypes
{
DefaultColWidth = 0,
DefaultRowHeight = 1,
BaseColWidth = 2
};}
namespace c_oSerRowTypes{enum c_oSerRowTypes
{
Row = 0,
Style = 1,
Height = 2,
Hidden = 3,
Cells = 4,
Cell = 5,
CustomHeight = 6
};}
namespace c_oSerCellTypes{enum c_oSerCellTypes
{
Ref = 0,
Style = 1,
Type = 2,
Value = 3,
Formula = 4
};}
namespace c_oSerFormulaTypes{enum c_oSerFormulaTypes
{
Aca = 0,
Bx = 1,
Ca = 2,
Del1 = 3,
Del2 = 4,
Dt2D = 5,
Dtr = 6,
R1 = 7,
R2 = 8,
Ref = 9,
Si = 10,
T = 11,
Text = 12
};}
namespace c_oSer_DrawingType{enum c_oSer_DrawingType
{
Type = 0,
From = 1,
To = 2,
Pos = 3,
Pic = 4,
PicSrc = 5,
GraphicFrame = 6,
Chart = 7,
Ext = 8,
pptxDrawing = 9
};}
namespace c_oSer_DrawingFromToType{enum c_oSer_DrawingFromToType
{
Col = 0,
ColOff = 1,
Row = 2,
RowOff = 3
};}
namespace c_oSer_DrawingPosType{enum c_oSer_DrawingPosType
{
X = 0,
Y = 1
};}
namespace c_oSer_DrawingExtType{enum c_oSer_DrawingExtType
{
Cx = 0,
Cy = 1
};}
namespace c_oSer_OtherType{enum c_oSer_OtherType
{
Media = 0,
MediaItem = 1,
MediaId = 2,
MediaSrc = 3,
EmbeddedFonts = 4,
Theme = 5
};}
namespace c_oSer_CalcChainType{enum c_oSer_CalcChainType
{
CalcChainItem = 0,
Array = 1,
SheetId = 2,
DependencyLevel = 3,
Ref = 4,
ChildChain = 5,
NewThread = 6
};}
namespace c_oSer_ChartType{enum c_oSer_ChartType
{
Legend = 0,
Title = 1,
PlotArea = 2,
Style = 3,
TitlePptx = 4,
ShowBorder = 5,
SpPr = 6
};}
namespace c_oSer_ChartTitlePptxType{enum c_oSer_ChartTitlePptxType
{
TxPptx = 0,
TxPrPptx = 1
};}
namespace c_oSer_ChartLegendType{enum c_oSer_ChartLegendType
{
LegendPos = 0,
Overlay = 1,
Layout = 2,
LegendEntry = 3,
TxPrPptx = 4
};}
namespace c_oSer_ChartLegendEntryType{enum c_oSer_ChartLegendEntryType
{
Delete = 0,
Index = 1,
TxPrPptx = 2
};}
namespace c_oSer_ChartLegendLayoutType{enum c_oSer_ChartLegendLayoutType
{
H = 0,
HMode = 1,
LayoutTarget = 2,
W = 3,
WMode = 4,
X = 5,
XMode = 6,
Y = 7,
YMode = 8
};}
namespace c_oSer_ChartPlotAreaType{enum c_oSer_ChartPlotAreaType
{
CatAx = 0,
ValAx = 1,
SerAx = 2,
ValAxPos = 3,
BasicChart = 4
};}
namespace c_oSer_ChartCatAxType{enum c_oSer_ChartCatAxType
{
Title = 0,
MajorGridlines = 1,
Delete = 2,
AxPos = 3,
TitlePptx = 4,
TxPrPptx = 5
};}
namespace c_oSer_BasicChartType{enum c_oSer_BasicChartType
{
Type = 0,
BarDerection = 1,
Grouping = 2,
Overlap = 3,
Series = 4,
Seria = 5,
DataLabels = 6,
};}
namespace c_oSer_ChartSeriesType{enum c_oSer_ChartSeriesType
{
Val = 0,
Tx = 1,
Marker = 2,
OutlineColor = 3,
xVal = 4,
TxRef = 5,
Index = 6,
Order = 7,
DataLabels = 8,
SpPr = 9,
Cat = 10
};}
namespace c_oSer_ChartSeriesMarkerType{enum c_oSer_ChartSeriesMarkerType
{
Size = 0,
Symbol = 1
};}
namespace c_oSer_ChartSeriesDataLabelsType{enum c_oSer_ChartSeriesDataLabelsType
{
ShowVal = 0,
TxPrPptx = 1,
ShowCatName = 2
};}
namespace c_oSer_ChartSeriesNumCacheType{enum c_oSer_ChartSeriesNumCacheType
{
Formula = 0,
NumCache = 1,
NumCacheVal = 2,
NumCacheIndex = 3,
NumCache2 = 4,
NumCacheItem = 5
};}
namespace c_oSer_ColorObjectType{enum c_oSer_ColorObjectType
{
Rgb = 0,
Type = 1,
Theme = 2,
Tint = 3
};}
namespace c_oSer_ColorType{enum c_oSer_ColorType
{
Auto = 0
};}
namespace c_oSer_PageMargins{enum c_oSer_PageMargins
{
Left = 0,
Top = 1,
Right = 2,
Bottom = 3,
Header = 4,
Footer = 5
};}
namespace c_oSer_PageSetup{enum c_oSer_PageSetup
{
Orientation = 0,
PaperSize = 1
};}
namespace c_oSer_PrintOptions{enum c_oSer_PrintOptions
{
GridLines = 0,
Headings = 1
};}
namespace c_oSer_TablePart{enum c_oSer_TablePart
{
Table = 0,
Ref = 1,
TotalsRowCount = 2,
DisplayName = 3,
AutoFilter = 4,
SortState = 5,
TableColumns = 6,
TableStyleInfo = 7,
HeaderRowCount = 8
};}
namespace c_oSer_TableStyleInfo{enum c_oSer_TableStyleInfo
{
Name = 0,
ShowColumnStripes = 1,
ShowRowStripes = 2,
ShowFirstColumn = 3,
ShowLastColumn = 4
};}
namespace c_oSer_TableColumns{enum c_oSer_TableColumns
{
TableColumn = 0,
Name = 1,
DataDxfId = 2,
TotalsRowLabel = 3,
TotalsRowFunction = 4,
TotalsRowFormula = 5,
CalculatedColumnFormula = 6
};}
namespace c_oSer_SortState{enum c_oSer_SortState
{
Ref = 0,
CaseSensitive = 1,
SortConditions = 2,
SortCondition = 3,
ConditionRef = 4,
ConditionSortBy = 5,
ConditionDescending = 6,
ConditionDxfId = 7
};}
namespace c_oSer_AutoFilter{enum c_oSer_AutoFilter
{
Ref = 0,
FilterColumns = 1,
FilterColumn = 2,
SortState = 3
};}
namespace c_oSer_FilterColumn{enum c_oSer_FilterColumn
{
ColId = 0,
Filters = 1,
Filter = 2,
DateGroupItem = 3,
CustomFilters = 4,
ColorFilter = 5,
Top10 = 6,
DynamicFilter = 7,
HiddenButton = 8,
ShowButton = 9,
FiltersBlank = 10
};}
namespace c_oSer_Filter{enum c_oSer_Filter
{
Val = 0
};}
namespace c_oSer_DateGroupItem{enum c_oSer_DateGroupItem
{
DateTimeGrouping = 0,
Day = 1,
Hour = 2,
Minute = 3,
Month = 4,
Second = 5,
Year = 6
};}
namespace c_oSer_CustomFilters{enum c_oSer_CustomFilters
{
And = 0,
CustomFilters = 1,
CustomFilter = 2,
Operator = 3,
Val = 4
};}
namespace c_oSer_DynamicFilter{enum c_oSer_DynamicFilter
{
Type = 0,
Val = 1,
MaxVal = 2
};}
namespace c_oSer_ColorFilter{enum c_oSer_ColorFilter
{
CellColor = 0,
DxfId = 1
};}
namespace c_oSer_Top10{enum c_oSer_Top10
{
FilterVal = 0,
Percent = 1,
Top = 2,
Val = 3
};}
namespace c_oSer_Dxf{enum c_oSer_Dxf
{
Alignment = 0,
Border = 1,
Fill = 2,
Font = 3,
NumFmt = 4
};}
namespace c_oSer_TableStyles{enum c_oSer_TableStyles
{
DefaultTableStyle = 0,
DefaultPivotStyle = 1,
TableStyles = 2,
TableStyle = 3
};}
namespace c_oSer_TableStyle{enum c_oSer_TableStyle
{
Name = 0,
Pivot = 1,
Table = 2,
Elements = 3,
Element = 4,
DisplayName = 5
};}
namespace c_oSer_TableStyleElement{enum c_oSer_TableStyleElement
{
DxfId = 0,
Size = 1,
Type = 2
};}
namespace c_oSer_Comments{enum c_oSer_Comments
{
Row = 0,
Col = 1,
CommentDatas = 2,
CommentData = 3,
Left = 4,
LeftOffset = 5,
Top = 6,
TopOffset = 7,
Right = 8,
RightOffset = 9,
Bottom = 10,
BottomOffset = 11,
LeftMM = 12,
TopMM = 13,
WidthMM = 14,
HeightMM = 15,
MoveWithCells = 16,
SizeWithCells = 17
};}
namespace c_oSer_CommentData{enum c_oSer_CommentData
{
Text = 0,
Time = 1,
UserId = 2,
UserName = 3,
QuoteText = 4,
Solved = 5,
Document = 6,
Replies = 7,
Reply = 8
};}
namespace c_oSer_ConditionalFormatting{enum c_oSer_ConditionalFormatting
{
Pivot = 0,
SqRef = 1,
ConditionalFormattingRule = 2
};}
namespace c_oSer_ConditionalFormattingRule{enum c_oSer_ConditionalFormattingRule
{
AboveAverage = 0,
Bottom = 1,
DxfId = 2,
EqualAverage = 3,
Operator = 4,
Percent = 5,
Priority = 6,
Rank = 7,
StdDev = 8,
StopIfTrue = 9,
Text = 10,
TimePeriod = 11,
Type = 12,
ColorScale = 14,
DataBar = 15,
FormulaCF = 16,
IconSet = 17
};}
namespace c_oSer_ConditionalFormattingRuleColorScale{enum c_oSer_ConditionalFormattingRuleElement
{
CFVO = 0,
Color = 1,
};}
namespace c_oSer_ConditionalFormattingDataBar{enum c_oSer_ConditionalFormattingDataBar
{
CFVO = 0,
Color = 1,
MaxLength = 2,
MinLength = 3,
ShowValue = 4
};}
namespace c_oSer_ConditionalFormattingIconSet{enum c_oSer_ConditionalFormattingIconSet
{
CFVO = 0,
IconSet = 1,
Percent = 2,
Reverse = 3,
ShowValue = 4
};}
namespace c_oSer_ConditionalFormattingValueObject{enum c_oSer_ConditionalFormattingValueObject
{
Gte = 0,
Type = 1,
Val = 2
};}
namespace c_oSer_SheetView{enum c_oSer_SheetView
{
ColorId = 0,
DefaultGridColor = 1,
RightToLeft = 2,
ShowFormulas = 3,
ShowGridLines = 4,
ShowOutlineSymbols = 5,
ShowRowColHeaders = 6,
ShowRuler = 7,
ShowWhiteSpace = 8,
ShowZeros = 9,
TabSelected = 10,
TopLeftCell = 11,
View = 12,
WindowProtection = 13,
WorkbookViewId = 14,
ZoomScale = 15,
ZoomScaleNormal = 16,
ZoomScalePageLayoutView = 17,
ZoomScaleSheetLayoutView = 18
};}
namespace c_oSer_CellStyle{enum c_oSer_CellStyle
{
BuiltinId = 0,
CustomBuiltin = 1,
Hidden = 2,
ILevel = 3,
Name = 4,
XfId = 5
};}
namespace c_oSer_SheetPr{enum c_oSer_SheetPr
{
CodeName = 0,
EnableFormatConditionsCalculation = 1,
FilterMode = 2,
Published = 3,
SyncHorizontal = 4,
SyncRef = 5,
SyncVertical = 6,
TransitionEntry = 7,
TransitionEvaluation = 8,
TabColor = 9
};}
}
#pragma once
#include "../../../../AVSOfficeStudio/AVSOfficeDocxFile2/BinReader/FileDownloader.h"
namespace SerializeCommon
{
bool IsUnicodeSymbol( WCHAR symbol )
{
bool result = false;
if ( ( 0x0009 == symbol ) || ( 0x000A == symbol ) || ( 0x000D == symbol ) ||
( ( 0x0020 <= symbol ) && ( 0xD7FF >= symbol ) ) || ( ( 0xE000 <= symbol ) && ( symbol <= 0xFFFD ) ) ||
( ( 0x10000 <= symbol ) && symbol ) )
{
result = true;
}
return result;
}
void CorrectString(CString& strValue)
{
for (unsigned int i = 0, length = strValue.GetLength(); i < length; ++i )
{
if ( false == IsUnicodeSymbol( strValue.GetAt(i) ) )
{
strValue.SetAt(i, ' ');
}
}
strValue.Replace(_T("&"), _T("&amp;"));
strValue.Replace(_T("'"), _T("&apos;"));
strValue.Replace(_T("<"), _T("&lt;"));
strValue.Replace(_T(">"), _T("&gt;"));
strValue.Replace(_T("\""), _T("&quot;"));
}
CString DownloadImage(const CString& strFile)
{
CFileDownloader oDownloader(strFile, FALSE);
oDownloader.Start( 1 );
while ( oDownloader.IsRunned() )
{
::Sleep( 10 );
}
CString strFileName;
if ( oDownloader.IsFileDownloaded() )
{
strFileName = oDownloader.GetFilePath();
}
return strFileName;
}
VOID convertBase64ToImage (CString sImage, CString &pBase64)
{
HANDLE hFileWriteHandle;
//
hFileWriteHandle = ::CreateFile (sImage, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if (INVALID_HANDLE_VALUE != hFileWriteHandle)
{
INT nUTF8Len = WideCharToMultiByte (CP_UTF8, 0, pBase64, pBase64.GetLength (), NULL, NULL, NULL, NULL);
CHAR *pUTF8String = new CHAR [nUTF8Len + 1];
::ZeroMemory (pUTF8String, sizeof (CHAR) * (nUTF8Len + 1));
WideCharToMultiByte (CP_UTF8, 0, pBase64, -1, pUTF8String, nUTF8Len, NULL, NULL);
CStringA sUnicode; sUnicode = pUTF8String;
delete[] pUTF8String;
// "data:image/jpg;base64,"
int nShift = 0;
int nIndex = sUnicode.Find("base64,");
if(-1 != nIndex)
{
nShift = nIndex + 7;
}
//
LONG lFileSize = sUnicode.GetLength () - nShift;
INT nDstLength = lFileSize;
BYTE *pBuffer = new BYTE [lFileSize];
::ZeroMemory (pBuffer, lFileSize);
Base64::Base64Decode ((LPCSTR)sUnicode.GetBuffer () + nShift, lFileSize, pBuffer, &nDstLength);
//
DWORD dwBytesWrite = 0;
::WriteFile (hFileWriteHandle, pBuffer, nDstLength, &dwBytesWrite, 0);
RELEASEARRAYOBJECTS (pBuffer);
CloseHandle (hFileWriteHandle);
}
}
CString changeExtention(CString& sSourcePath, CString& sTargetExt)
{
wchar_t path_buffer[_MAX_PATH];
wchar_t drive[_MAX_DRIVE];
wchar_t dir[_MAX_DIR];
wchar_t fname[_MAX_FNAME];
wchar_t ext[_MAX_EXT];
_wsplitpath(sSourcePath, drive, dir, fname, ext);
_tmakepath(path_buffer, drive, dir, fname, sTargetExt);
return CString(path_buffer);
}
class CommentData
{
public :
CString sText;
CString sTime;
CString sUserId;
CString sUserName;
CString sQuoteText;
bool Solved;
bool Document;
bool bSolved;
bool bDocument;
CAtlArray<CommentData*> aReplies;
CommentData()
{
bSolved = false;
bDocument = false;
}
~CommentData()
{
for(int i = 0, length = aReplies.GetCount(); i < length; ++i)
delete aReplies[i];
aReplies.RemoveAll();
}
};
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
#include "FontProcessor.h"
namespace XlsxReader {
FontProcessor::FontProcessor()
: m_pFontManager(NULL) {}
FontProcessor::~FontProcessor() {
RELEASEINTERFACE(m_pFontManager);
}
void FontProcessor::setFontDir(const CString& fontDir) {
this->m_sFontDir = fontDir;
initFontManager();
}
void FontProcessor::setFontTable(const OOX::Spreadsheet::CFonts& oFonts) {
for (int i = 0, length = oFonts.m_arrItems.GetSize(); i < length; ++i)
{
OOX::Spreadsheet::WritingElement* we = oFonts.m_arrItems[i];
if(OOX::Spreadsheet::et_Font == we->getType())
{
OOX::Spreadsheet::CFont* pFont = static_cast<OOX::Spreadsheet::CFont*>(we);
if(NULL != pFont)
addToFontMap(pFont);
}
}
}
CString FontProcessor::getFont(const CString& name) {
CString fontName = _T("Arial");
if (fontMap.find(name) != fontMap.end())
fontName = fontMap[name];
else
{
OOX::CFont font;
font.m_sName = name;
addToFontMap(font);
if (fontMap.find(name) != fontMap.end())
fontName = fontMap[name];
}
return fontName;
}
void FontProcessor::initFontManager() {
RELEASEINTERFACE(m_pFontManager);
CoCreateInstance(__uuidof(AVSGraphics::CAVSFontManager), NULL, CLSCTX_ALL, __uuidof(AVSGraphics::IAVSFontManager), (void**) &m_pFontManager);
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = m_sFontDir.AllocSysString();
m_pFontManager->SetAdditionalParam(L"InitializeFromFolder", var);
RELEASESYSSTRING(var.bstrVal);
CString defaultFontName = _T("Arial");
BSTR defFontName = defaultFontName.AllocSysString();
fontManager->SetDefaultFont(defFontName);
SysFreeString(defFontName);
}
void FontProcessor::addToFontMap(OOX::Spreadsheet::CFont* pFont) {
CString parw;
parw += _T("<FontProperties>");
if(pFont->m_oCharset.IsInit() && pFont->m_oCharset->m_oCharset.IsInit())
{
SimpleTypes::EFontCharset eCharset = pFont->m_oCharset->m_oCharset->GetValue();
// fontcharsetANSI fontcharsetDefault, , dll
if(SimpleTypes::fontcharsetANSI != eCharset && SimpleTypes::fontcharsetDefault != eCharset)
parw += _T("<Charset value='") + pFont->m_oCharset->m_oCharset->ToHexString() + _T("'/>");
}
CString sFontName;
if(pFont->m_oRFont.IsInit())
sFontName = pFont->m_oRFont->ToString2();
if(sFontName.IsEmpty())
parw += _T("<Name value='") + CString(gc_sNoNameFont) + _T("'/>");
else
{
//ImageStudio::Serialize::Paint::Common::ToXmlString(sFontName);
parw += _T("<Name value='")+ sFontName + _T("'/>");
}
if(pFont->m_oScheme->m_oFontScheme.IsInit())
{
}
parw += _T("<FamilyClass name='") + font.m_oFamily.ToString() + _T("'/>");
if(font.m_oPanose.IsInit())
parw += _T("<Panose value='") + font.m_oPanose->ToString() + _T("'/>");
if (font.m_oPitch.GetValue() == SimpleTypes::pitchFixed)
parw += _T("<FixedWidth value='1'/>");
else
parw += _T("<FixedWidth value='0'/>");
parw += _T("<UnicodeRange ");
if (font.m_oUsb0.IsInit())
parw += _T("range1='") + font.m_oUsb0->ToString() + _T("' ");
if (font.m_oUsb1.IsInit())
parw += _T("range2='") + font.m_oUsb1->ToString() + _T("' ");
if (font.m_oUsb2.IsInit())
parw += _T("range3='") + font.m_oUsb2->ToString() + _T("' ");
if (font.m_oUsb3.IsInit())
parw += _T("range4='") + font.m_oUsb3->ToString() + _T("' ");
if (font.m_oCsb0.IsInit())
parw += _T("coderange1='") + font.m_oCsb0->ToString() + _T("' ");
if (font.m_oCsb1.IsInit())
parw += _T("coderange2='") + font.m_oCsb1->ToString() + _T("' ");
parw += _T("/>");
parw += _T("</FontProperties>");
CString params = parw.GetCString();
BSTR fontPath;
long index = 0;
BSTR bstrParams = params.AllocSysString();
fontManager->GetWinFontByParams(bstrParams, &fontPath, &index);
SysFreeString(bstrParams);
int status = fontManager->LoadFontFromFile(fontPath, 12, 72, 72, index);
SysFreeString(fontPath);
BSTR familyName;
fontManager->GetFamilyName(&familyName);
CString resFontName = familyName;
SysFreeString(familyName);
fontMap[font.m_sName] = resFontName;
}
}
\ No newline at end of file
#pragma once
#include "../stdafx.h"
#include "../../../AVSOfficeStudio/Common/DocxFormat/Source/XlsxFormat/Styles/Fonts.h"
namespace BinXlsxRW {
static TCHAR* gc_sNoNameFont = _T("NoNameFont");
static TCHAR* gc_sDefaultFontName = _T("Arial");
class FontProcessor {
AVSGraphics::IAVSFontManager* m_pFontManager;
CAtlMap<CString, CString> m_mapFontMap;
CString m_sFontDir;
public:
FontProcessor():m_pFontManager(NULL){}
~FontProcessor()
{
RELEASEINTERFACE(m_pFontManager);
}
void setFontDir(const CString& fontDir)
{
this->m_sFontDir = fontDir;
initFontManager();
}
CString getFontDir()
{
return this->m_sFontDir;
}
void setFontTable(const OOX::Spreadsheet::CFonts& oFonts)
{
for (int i = 0, length = oFonts.m_arrItems.GetSize(); i < length; ++i)
{
OOX::Spreadsheet::CFont* pFont = oFonts.m_arrItems[i];
if(NULL != pFont)
addToFontMap(*pFont);
}
}
AVSGraphics::IAVSFontManager* getFontManager()
{
return m_pFontManager;
}
CString getFont(const CString& name)
{
CString fontName = gc_sDefaultFontName;
CAtlMap<CString, CString>::CPair* pPair = m_mapFontMap.Lookup( name );
if ( NULL == pPair )
{
if(!name.IsEmpty())
{
OOX::Spreadsheet::CFont oFont;
oFont.m_oRFont.Init();
oFont.m_oRFont->m_sVal = name;
addToFontMap(oFont);
pPair = m_mapFontMap.Lookup( name );
if (NULL != pPair)
fontName = pPair->m_value;
}
}
else
fontName = pPair->m_value;
return fontName;
}
private:
void initFontManager()
{
RELEASEINTERFACE(m_pFontManager);
CoCreateInstance(__uuidof(AVSGraphics::CAVSFontManager), NULL, CLSCTX_ALL, __uuidof(AVSGraphics::IAVSFontManager), (void**) &m_pFontManager);
VARIANT var;
var.vt = VT_BSTR;
var.bstrVal = m_sFontDir.AllocSysString();
m_pFontManager->SetAdditionalParam(L"InitializeFromFolder", var);
RELEASESYSSTRING(var.bstrVal);
CString defaultFontName = gc_sDefaultFontName;
BSTR defFontName = defaultFontName.AllocSysString();
m_pFontManager->SetDefaultFont(defFontName);
SysFreeString(defFontName);
}
void addToFontMap(OOX::Spreadsheet::CFont& font)
{
CString parw;
parw += _T("<FontProperties>");
if(font.m_oCharset.IsInit() && font.m_oCharset->m_oCharset.IsInit())
{
SimpleTypes::Spreadsheet::EFontCharset eCharset = font.m_oCharset->m_oCharset->GetValue();
// fontcharsetANSI fontcharsetDefault, , dll
if(SimpleTypes::fontcharsetANSI != eCharset && SimpleTypes::fontcharsetDefault != eCharset)
parw += _T("<Charset value='") + font.m_oCharset->m_oCharset->ToHexString() + _T("'/>");
}
CString sFontName;
if(font.m_oScheme.IsInit() && font.m_oScheme->m_oFontScheme.IsInit())
{
//
const SimpleTypes::Spreadsheet::EFontScheme eFontScheme = font.m_oScheme->m_oFontScheme->GetValue();
if(SimpleTypes::Spreadsheet::fontschemeNone != eFontScheme)
{
//todo
}
}
if(sFontName.IsEmpty() && font.m_oRFont.IsInit() && font.m_oRFont->m_sVal.IsInit())
sFontName = font.m_oRFont->ToString2();
if(sFontName.IsEmpty())
parw += _T("<Name value='") + CString(gc_sNoNameFont) + _T("'/>");
else
{
//ImageStudio::Serialize::Paint::Common::ToXmlString(sFontName);
parw += _T("<Name value='")+ sFontName + _T("'/>");
}
if(font.m_oFamily.IsInit() && font.m_oFamily->m_oFontFamily.IsInit())
{
parw += _T("<FamilyClass name='") + font.m_oFamily->m_oFontFamily->ToString() + _T("'/>");
}
parw += _T("</FontProperties>");
CString params = parw;
BSTR fontPath;
long index = 0;
BSTR bstrParams = params.AllocSysString();
m_pFontManager->GetWinFontByParams(bstrParams, &fontPath, &index);
SysFreeString(bstrParams);
int status = m_pFontManager->LoadFontFromFile(fontPath, 12, 72, 72, index);
SysFreeString(fontPath);
BSTR familyName;
m_pFontManager->GetFamilyName(&familyName);
CString resFontName = familyName;
SysFreeString(familyName);
m_mapFontMap.SetAt(sFontName, resFontName);
}
};
}
\ No newline at end of file
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by XlsxSerializerCom.rc
//
#define IDS_PROJNAME 100
#define IDR_XLSXSERIALIZERCOM 101
#define IDB_DEFAULT_XLSX_THEME 201
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 201
#define _APS_NEXT_COMMAND_VALUE 32768
#define _APS_NEXT_CONTROL_VALUE 201
#define _APS_NEXT_SYMED_VALUE 102
#endif
#endif
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="1F497D"/></a:dk2><a:lt2><a:srgbClr val="EEECE1"/></a:lt2><a:accent1><a:srgbClr val="4F81BD"/></a:accent1><a:accent2><a:srgbClr val="C0504D"/></a:accent2><a:accent3><a:srgbClr val="9BBB59"/></a:accent3><a:accent4><a:srgbClr val="8064A2"/></a:accent4><a:accent5><a:srgbClr val="4BACC6"/></a:accent5><a:accent6><a:srgbClr val="F79646"/></a:accent6><a:hlink><a:srgbClr val="0000FF"/></a:hlink><a:folHlink><a:srgbClr val="800080"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont><a:latin typeface="Cambria"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="MS Pゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="宋体"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/></a:majorFont><a:minorFont><a:latin typeface="Calibri"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="MS Pゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="宋体"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="50000"/><a:satMod val="300000"/></a:schemeClr></a:gs><a:gs pos="35000"><a:schemeClr val="phClr"><a:tint val="37000"/><a:satMod val="300000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="15000"/><a:satMod val="350000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="16200000" scaled="1"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:shade val="51000"/><a:satMod val="130000"/></a:schemeClr></a:gs><a:gs pos="80000"><a:schemeClr val="phClr"><a:shade val="93000"/><a:satMod val="130000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="94000"/><a:satMod val="135000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="16200000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="9525" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"><a:shade val="95000"/><a:satMod val="105000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:ln w="25400" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/></a:ln><a:ln w="38100" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst><a:outerShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="38000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="35000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="35000"/></a:srgbClr></a:outerShdw></a:effectLst><a:scene3d><a:camera prst="orthographicFront"><a:rot lat="0" lon="0" rev="0"/></a:camera><a:lightRig rig="threePt" dir="t"><a:rot lat="0" lon="0" rev="1200000"/></a:lightRig></a:scene3d><a:sp3d><a:bevelT w="63500" h="25400"/></a:sp3d></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="40000"/><a:satMod val="350000"/></a:schemeClr></a:gs><a:gs pos="40000"><a:schemeClr val="phClr"><a:tint val="45000"/><a:shade val="99000"/><a:satMod val="350000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="20000"/><a:satMod val="255000"/></a:schemeClr></a:gs></a:gsLst><a:path path="circle"><a:fillToRect l="50000" t="-80000" r="50000" b="180000"/></a:path></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="80000"/><a:satMod val="300000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="30000"/><a:satMod val="200000"/></a:schemeClr></a:gs></a:gsLst><a:path path="circle"><a:fillToRect l="50000" t="50000" r="50000" b="50000"/></a:path></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/></a:theme>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
// XlsxSerializerCom.cpp : Implementation of DLL Exports.
#include "stdafx.h"
#include "resource.h"
#include "AVSOfficeXlsxSerizer.h"
// The module attribute causes DllMain, DllRegisterServer and DllUnregisterServer to be automatically implemented for you
[ module(dll, uuid = "{E4E17295-6FF8-4bac-B4C2-E17D72111035}",
name = "XlsxSerializerCom",
helpstring = "XlsxSerializerCom 1.0 Type Library",
resource_name = "IDR_XLSXSERIALIZERCOM") ]
class CXlsxSerializerComModule
{
public:
// Override CAtlDllModuleT members
};
//Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"
#include "version.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
LANGUAGE 25, 1
#pragma code_page(1251)
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION INTVER
PRODUCTVERSION INTVER
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", "Online Media Technologies Ltd."
VALUE "FileDescription", "XlsxSerializerCom ActiveX DLL"
VALUE "FileVersion", STRVER
VALUE "InternalName", "XlsxSerializerCom ActiveX DLL"
VALUE "LegalCopyright", "Online Media Technologies Ltd. Copyright 2009"
VALUE "LegalTrademarks", "Online Media Technologies Ltd."
VALUE "OriginalFilename", "XlsxSerializerCom.dll"
VALUE "ProductName", "XlsxSerializerCom ActiveX DLL"
VALUE "ProductVersion", STRVER
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 1252
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE
BEGIN
IDS_PROJNAME "XlsxSerializerCom"
END
IDR_XLSXSERIALIZERCOM REGISTRY "XlsxSerializerCom.rgs"
////////////////////////////////////////////////////////////////////////////
#endif
IDB_DEFAULT_XLSX_THEME XLSXSER "Resource\\theme1.xml"
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
HKCR
{
NoRemove AppID
{
'%APPID%' = s 'XlsxSerializerCom'
'XlsxSerializerCom.DLL'
{
val AppID = s '%APPID%'
}
}
}

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XlsxSerializerCom", "XlsxSerializerCom.vcproj", "{87476A4D-6A42-44E9-A947-42B8E8613070}"
ProjectSection(ProjectDependencies) = postProject
{A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DocxFormat", "..\..\..\AVSOfficeStudio\Common\DocxFormat\Projects\DocxFormat2005.vcproj", "{A100103A-353E-45E8-A9B8-90B87CC5C0B0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{87476A4D-6A42-44E9-A947-42B8E8613070}.Debug|Win32.ActiveCfg = Debug|Win32
{87476A4D-6A42-44E9-A947-42B8E8613070}.Debug|Win32.Build.0 = Debug|Win32
{87476A4D-6A42-44E9-A947-42B8E8613070}.Release|Win32.ActiveCfg = Release|Win32
{87476A4D-6A42-44E9-A947-42B8E8613070}.Release|Win32.Build.0 = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|Win32.ActiveCfg = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Debug|Win32.Build.0 = Debug|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|Win32.ActiveCfg = Release|Win32
{A100103A-353E-45E8-A9B8-90B87CC5C0B0}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(DPCodeReviewSolutionGUID) = preSolution
DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000}
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="XlsxSerializerCom"
ProjectGUID="{87476A4D-6A42-44E9-A947-42B8E8613070}"
RootNamespace="XlsxSerializerCom"
Keyword="AtlProj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
CommandLine=""
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/XlsxSerializerCom.tlb"
HeaderFileName="XlsxSerializerCom.h"
DLLDataFileName=""
InterfaceIdentifierFileName="XlsxSerializerCom_i.c"
ProxyFileName="XlsxSerializerCom_p.c"
ValidateParameters="false"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\..\Common;..\..\Common;..\..\AVSImageStudio3\Common"
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL;_ATL_ATTRIBUTES;_USE_XMLLITE_READER_;USE_LITE_READER;USE_ATL_CSTRING;USE_AVSOFFICESTUDIO_XMLUTILS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
RegisterOutput="true"
IgnoreImportLibrary="true"
LinkIncremental="2"
AdditionalLibraryDirectories="&quot;$(SolutionDir)/../../Common/DocxFormat/Lib/Debug&quot;"
MergedIDLBaseFileName="_XlsxSerializerCom.idl"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine=""
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
CommandLine=""
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="false"
TargetEnvironment="1"
GenerateStublessProxies="true"
TypeLibraryName="$(IntDir)/XlsxSerializerCom.tlb"
HeaderFileName="XlsxSerializerCom.h"
DLLDataFileName=""
InterfaceIdentifierFileName="XlsxSerializerCom_i.c"
ProxyFileName="XlsxSerializerCom_p.c"
ValidateParameters="false"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="..\..\..\..\Common;..\..\Common;..\..\AVSImageStudio3\Common"
PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;_ATL_ATTRIBUTES;_USE_XMLLITE_READER_;USE_LITE_READER;USE_ATL_CSTRING;USE_AVSOFFICESTUDIO_XMLUTILS"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
RegisterOutput="true"
IgnoreImportLibrary="true"
LinkIncremental="1"
MergedIDLBaseFileName="_XlsxSerializerCom.idl"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Copy to redist"
CommandLine="copy $(TargetPath) ..\wwwroot\Bin\XlsxSerializerCom.dll"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{63524EC3-B16E-4d25-881C-BACAEE1F4D24}"
>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\XlsxSerializerCom.cpp"
>
</File>
</Filter>
<Filter
Name="Header Files"
>
<File
RelativePath=".\AVSOfficeXlsxSerizer.h"
>
</File>
<File
RelativePath=".\Resource.h"
>
</File>
<File
RelativePath=".\stdafx.h"
>
</File>
<File
RelativePath=".\version.h"
>
</File>
</Filter>
<Filter
Name="Reader"
>
<File
RelativePath=".\Reader\BinaryWriter.h"
>
</File>
<File
RelativePath=".\Reader\FontProcessor.h"
>
</File>
</Filter>
<Filter
Name="Common"
>
<File
RelativePath=".\Common\BinReaderWriterDefines.h"
>
</File>
<File
RelativePath="..\..\..\AVSOfficeStudio\AVSOfficePPTXFile\Editor\BinReaderWriterDefines.h"
>
</File>
<File
RelativePath=".\Common\Common.h"
>
</File>
<File
RelativePath="..\DocxWriter\FileDownloader.h"
>
</File>
</Filter>
<Filter
Name="Writer"
>
<File
RelativePath=".\Writer\BinaryReader.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{764D3D92-FBD6-4c5d-A785-208F6FE895CE}"
>
<File
RelativePath=".\XlsxSerializerCom.rc"
>
</File>
<File
RelativePath=".\XlsxSerializerCom.rgs"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
// stdafx.cpp : source file that includes just the standard includes
// AVSOfficeDocxFile2.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
#pragma once
#ifndef STRICT
#define STRICT
#endif
// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.
#define WINVER 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
#endif
#ifndef _WIN32_WINNT // Allow use of features specific to Windows NT 4 or later.
#define _WIN32_WINNT 0x0400 // Change this to the appropriate value to target Windows 2000 or later.
#endif
#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif
#ifndef _WIN32_IE // Allow use of features specific to IE 4.0 or later.
#define _WIN32_IE 0x0400 // Change this to the appropriate value to target IE 5.0 or later.
#endif
#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE
#define _CRT_SECURE_NO_DEPRECATE
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
// turns off ATL's hiding of some common and often safely ignored warning messages
#define _ATL_ALL_WARNINGS
#include <windows.h>
#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <atltypes.h>
#include <atlctl.h>
#include <atlhost.h>
#include <atlcoll.h>
#define __USE_XML_COMMON__
using namespace ATL;
#include "../../../AVSVideoStudio3/Common/AvsUtils.h"
#import "../../../Redist/AVSMediaCore3.dll" named_guids raw_interfaces_only rename_namespace("MediaCore"), exclude("tagRECT")
#import "../../../Redist/AVSImageStudio3.dll" named_guids raw_interfaces_only rename_namespace("AVSImageStudio")
#import "../../../Redist/AVSGraphics.dll" named_guids raw_interfaces_only rename_namespace("AVSGraphics")
#import "../../../Redist/AVSOfficeStudio/AVSOfficeFile.dll" raw_interfaces_only rename_namespace("AVSOfficeFile")
#import "../../../Redist/AVSOfficeStudio/AVSFontConverter.dll" named_guids raw_interfaces_only rename_namespace("Fonts")
#import "../../../Redist/AVSOfficeStudio/AVSOfficePPTXFile.dll" raw_interfaces_only rename_namespace("PPTXFile")
#include <Gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;
\ No newline at end of file
#pragma once
//1
//0
//0
//90
#define INTVER 1,0,0,90
#define STRVER "1,0,0,90\0"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment