mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
MergePages SplitPages commands
This commit is contained in:
@ -151,6 +151,8 @@ namespace NSOnlineOfficeBinToPdf
|
||||
RemovePage = 2,
|
||||
WidgetInfo = 3,
|
||||
MovePage = 4,
|
||||
MergePages = 5,
|
||||
SplitPages = 6,
|
||||
Undefined = 255
|
||||
};
|
||||
|
||||
@ -175,7 +177,7 @@ namespace NSOnlineOfficeBinToPdf
|
||||
int nLen = oReader.ReadInt();
|
||||
AddCommandType CommandType = (AddCommandType)oReader.ReadByte();
|
||||
int nPageNum = 0;
|
||||
if (CommandType != AddCommandType::WidgetInfo)
|
||||
if (CommandType != AddCommandType::WidgetInfo && CommandType != AddCommandType::MergePages && CommandType != AddCommandType::SplitPages)
|
||||
nPageNum = oReader.ReadInt();
|
||||
|
||||
if (nPageNum < 0)
|
||||
@ -210,6 +212,33 @@ namespace NSOnlineOfficeBinToPdf
|
||||
pPdf->DeletePage(nPageNum);
|
||||
break;
|
||||
}
|
||||
case AddCommandType::MergePages:
|
||||
{
|
||||
std::wstring wsPath = oReader.ReadString();
|
||||
std::wstring wsPassword = oReader.ReadString();
|
||||
int nLength = oReader.ReadInt();
|
||||
int* pPageIndex = new int[nLength];
|
||||
int* pPositions = new int[nLength];
|
||||
for (int i = 0; i < nLength; ++i)
|
||||
{
|
||||
pPageIndex[i] = oReader.ReadInt();
|
||||
pPositions[i] = oReader.ReadInt();
|
||||
}
|
||||
pPdf->MergePages(wsPath, wsPassword, pPageIndex, nLength, pPositions);
|
||||
delete[] pPageIndex;
|
||||
delete[] pPositions;
|
||||
break;
|
||||
}
|
||||
case AddCommandType::SplitPages:
|
||||
{
|
||||
int nLength = oReader.ReadInt();
|
||||
int* pPageIndex = new int[nLength];
|
||||
for (int i = 0; i < nLength; ++i)
|
||||
pPageIndex[i] = oReader.ReadInt();
|
||||
pPdf->SplitPages(pPageIndex, nLength);
|
||||
delete[] pPageIndex;
|
||||
break;
|
||||
}
|
||||
case AddCommandType::WidgetInfo:
|
||||
{
|
||||
NSOnlineOfficeBinToPdf::ConvertBufferToRenderer(oReader.GetCurrentBuffer(), (LONG)(nLen - 5) , &oCorrector);
|
||||
|
||||
Reference in New Issue
Block a user