Добавлен кроссплатформенный XpsFile.

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@62681 954022d7-b5bf-4e40-9824-e11837661b57
This commit is contained in:
Ilya.Kirillov
2015-05-20 15:58:36 +00:00
committed by Alexander Trofimov
parent 485d09d699
commit 5cce624d49
19 changed files with 1982 additions and 0 deletions

38
XpsFile/XpsFile.h Normal file
View File

@ -0,0 +1,38 @@
#ifndef _XPS_FILE_H
#define _XPS_FILE_H
#include <string>
namespace XPS
{
class Folder;
}
class IRenderer;
class CApplicationFonts;
class CFontManager;
class CXpsFile
{
public:
CXpsFile(CApplicationFonts* pAppFonts);
~CXpsFile();
bool LoadFromFile(const std::wstring& wsSrcFileName, const std::wstring& wsXmlOptions = L"");
void Close();
std::wstring GetTempDirectory() const;
void SetTempDirectory(const std::wstring& wsPath);
int GetPagesCount();
void GetPageInfo(int nPageIndex, double* pdWidth, double* pdHeight, double* pdDpiX, double* pdDpiY);
void DrawPageOnRenderer(IRenderer* pRenderer, int nPageIndex, bool* pBreak);
void ConvertToRaster(int nPageIndex, const std::wstring& wsDstPath, int nImageType);
private:
CApplicationFonts* m_pAppFonts;
CFontManager* m_pFontManager;
std::wstring m_wsTempDirectory;
XPS::Folder* m_pFolder;
};
#endif // _XPS_FILE_H