|
@@ -710,6 +710,24 @@ namespace ComPDFKit.Tool
|
|
|
return editAreaObject;
|
|
|
}
|
|
|
|
|
|
+ public EditAreaObject GetEditAreaObjectListForIndex(int pageIndex,int editIndex)
|
|
|
+ {
|
|
|
+ if(editAreaList==null || editAreaList.Count==0)
|
|
|
+ {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ foreach( EditAreaObject editArea in editAreaList.Values )
|
|
|
+ {
|
|
|
+ if(editArea.PageIndex==pageIndex && editArea.EditAreaIndex==editIndex)
|
|
|
+ {
|
|
|
+ return editArea;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
public SelectedRect GetSelectedRectForEditAreaObject(CPDFEditArea editAreaObject)
|
|
|
{
|
|
|
if (editAreaObject == null)
|
|
@@ -2192,7 +2210,7 @@ namespace ComPDFKit.Tool
|
|
|
editAreaMultiIndex.Add(editAreaObject.EditAreaIndex);
|
|
|
editAreaList.Add(selectedRect, editAreaObject);
|
|
|
multiSelectedRect.Children.Add(selectedRect);
|
|
|
- multiSelectedRect.SetMulitSelectedRect(selectedRect);
|
|
|
+ multiSelectedRect.SetMulitSelectedRect(selectedRect, editAreaObject.PageIndex,editAreaObject.EditAreaIndex);
|
|
|
|
|
|
multiSelectedRect.SetRect(selectedRects.GetRect());
|
|
|
multiSelectedRect.SetMaxRect(selectedRects.GetMaxRect());
|
|
@@ -2297,12 +2315,28 @@ namespace ComPDFKit.Tool
|
|
|
CPDFPage cPDFPage = cPDFDocument.PageAtIndex(multiPage);
|
|
|
CPDFEditPage cPDFEditPage = cPDFPage.GetEditPage();
|
|
|
cPDFEditPage.BeginEdit(CPDFEditType.EditText | CPDFEditType.EditImage);
|
|
|
- foreach (SelectedRect item in MultiSelectEditList.Children)
|
|
|
+ foreach (SelectedRect checkItem in MultiSelectEditList.GetMulitSelectList())
|
|
|
{
|
|
|
+ SelectedRect item = checkItem;
|
|
|
+ EditAreaObject editAreaObject = GetEditAreaObjectListForRect(item);
|
|
|
+ if (editAreaObject == null)
|
|
|
+ {
|
|
|
+ if (MultiSelectEditList.GetRelationKey(item, out int checkPage, out int checkEdit))
|
|
|
+ {
|
|
|
+ editAreaObject = GetEditAreaObjectListForIndex(checkPage,checkEdit);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(item == null)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
PDFEditHistory pDFEditHistory = new PDFEditHistory();
|
|
|
pDFEditHistory.PageIndex = multiPage;
|
|
|
pDFEditHistory.EditPage = cPDFEditPage;
|
|
|
- EditAreaObject editAreaObject = GetEditAreaObjectListForRect(item);
|
|
|
+ if(editAreaObject==null)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
EditAreaObject newEditAreaObject = GetSelectedForIndex(multiPage, editAreaObject.EditAreaIndex);
|
|
|
Rect rect = item.GetRect();
|
|
|
rect.X = rect.X + item.GetRectPadding();
|
|
@@ -2457,12 +2491,28 @@ namespace ComPDFKit.Tool
|
|
|
CPDFPage cPDFPage = cPDFDocument.PageAtIndex(multiPage);
|
|
|
CPDFEditPage cPDFEditPage = cPDFPage.GetEditPage();
|
|
|
cPDFEditPage.BeginEdit(CPDFEditType.EditText | CPDFEditType.EditImage);
|
|
|
- foreach (SelectedRect item in MultiSelectEditList.Children)
|
|
|
+ foreach (SelectedRect checkItem in MultiSelectEditList.GetMulitSelectList())
|
|
|
{
|
|
|
+ SelectedRect item = checkItem;
|
|
|
+ EditAreaObject editAreaObject = GetEditAreaObjectListForRect(item);
|
|
|
+ if (editAreaObject == null)
|
|
|
+ {
|
|
|
+ if (MultiSelectEditList.GetRelationKey(item, out int checkPage, out int checkEdit))
|
|
|
+ {
|
|
|
+ editAreaObject = GetEditAreaObjectListForIndex(checkPage, checkEdit);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (item == null)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (editAreaObject == null)
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
PDFEditHistory pDFEditHistory = new PDFEditHistory();
|
|
|
pDFEditHistory.PageIndex = multiPage;
|
|
|
pDFEditHistory.EditPage = cPDFEditPage;
|
|
|
- EditAreaObject editAreaObject = GetEditAreaObjectListForRect(item);
|
|
|
EditAreaObject newEditAreaObject = GetSelectedForIndex(multiPage, editAreaObject.EditAreaIndex);
|
|
|
Rect rect = item.GetRect();
|
|
|
rect.Y = rect.Y + editPadding;
|
|
@@ -2471,6 +2521,7 @@ namespace ComPDFKit.Tool
|
|
|
rect2.Y = rect2.Y + editPadding;
|
|
|
Rect pageBound = newEditAreaObject.PageBound;
|
|
|
Rect PDFRect = DpiHelper.StandardRectToPDFRect(new Rect((rect2.Left - pageBound.Left) / currentZoom, (rect2.Top - pageBound.Top) / currentZoom, rect2.Width / currentZoom, rect2.Height / currentZoom));
|
|
|
+
|
|
|
editAreaObject.cPDFEditArea.SetFrame(DataConversionForWPF.RectConversionForCRect(PDFRect));
|
|
|
groupHistory.Histories.Add(pDFEditHistory);
|
|
|
}
|