|
@@ -75,20 +75,10 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
return selectedFilePath;
|
|
|
}
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 校验PageRange 输入是否合法,且可返回List<int> Pages 存放的索引值
|
|
|
- /// </summary>
|
|
|
- /// <param name="pageList">返回的页面集合</param>
|
|
|
- /// <param name="pageRange">需要判断的文本</param>
|
|
|
- /// <param name="count">页面总数</param>
|
|
|
- /// <param name="enumerationSeparator">例 new char[] { ',' }</param>
|
|
|
- /// <param name="rangeSeparator">例 new char[] { '-' }</param>
|
|
|
- /// <param name="inittag"></param>
|
|
|
- /// <returns></returns>
|
|
|
+
|
|
|
public static bool GetPagesInRange(ref List<int> pageList, string pageRange, int count, char[] enumerationSeparator, char[] rangeSeparator, bool inittag = false)
|
|
|
{
|
|
|
- string[] rangeSplit = pageRange.Split(enumerationSeparator);//根据分隔符 拆分字符串
|
|
|
+ string[] rangeSplit = pageRange.Split(enumerationSeparator);
|
|
|
|
|
|
pageList.Clear();
|
|
|
|
|
@@ -99,27 +89,25 @@ namespace Compdfkit_Tools.Helper
|
|
|
{
|
|
|
starttag = 0;
|
|
|
}
|
|
|
- if (range.Contains("-"))//连续页
|
|
|
+ if (range.Contains("-"))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- string[] limits = range.Split(rangeSeparator);//对子字符串再根据”-“ 拆分
|
|
|
+ string[] limits = range.Split(rangeSeparator);
|
|
|
if (limits.Length >= 2 && !string.IsNullOrWhiteSpace(limits[0]) && !string.IsNullOrWhiteSpace(limits[1]))
|
|
|
{
|
|
|
int start = int.Parse(limits[0]);
|
|
|
int end = int.Parse(limits[1]);
|
|
|
|
|
|
if ((start < starttag) || (end > count) || (start > end))
|
|
|
- {
|
|
|
- //throw new Exception(string.Format("Invalid page(s) in range {0} - {1}", start, end));
|
|
|
+ {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
for (int i = start; i <= end; ++i)
|
|
|
{
|
|
|
if (pageList.Contains(i))
|
|
|
- {
|
|
|
- // throw new Exception(string.Format("Invalid page(s) in range {0} - {1}", start, end));
|
|
|
+ {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -129,30 +117,26 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
- {
|
|
|
- //MessageBox.Show("请检查符号或页码范围是否正确。","提示",MessageBoxButton.OKCancel,MessageBoxImage.Warning);
|
|
|
+ {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
int pageNr;
|
|
|
try
|
|
|
- {
|
|
|
- // Single page
|
|
|
- pageNr = int.Parse(range);//单页
|
|
|
+ {
|
|
|
+ pageNr = int.Parse(range);
|
|
|
}
|
|
|
- catch (Exception)//格式不正确时
|
|
|
+ catch (Exception)
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
if (pageNr < starttag || pageNr > count)
|
|
|
{
|
|
|
- return false;
|
|
|
- //throw new Exception(string.Format("Invalid page {0}", pageNr));
|
|
|
+ return false;
|
|
|
}
|
|
|
if (pageList.Contains(pageNr))
|
|
|
{
|
|
|
- return false;
|
|
|
- // throw new Exception(string.Format("Invalid page {0}", pageNr));
|
|
|
+ return false;
|
|
|
}
|
|
|
pageList.Add(pageNr - 1);
|
|
|
}
|
|
@@ -160,8 +144,7 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
|
|
|
internal static class PageEditHelper
|
|
|
- {
|
|
|
- //Find Child Element By Parents Element
|
|
|
+ {
|
|
|
public static T FindVisualParent<T>(DependencyObject obj) where T : class
|
|
|
{
|
|
|
while (obj != null)
|
|
@@ -242,10 +225,7 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
|
|
|
public class ArrowHelper
|
|
|
- {
|
|
|
- /// <summary>
|
|
|
- /// 是否有开始箭头
|
|
|
- /// </summary>
|
|
|
+ {
|
|
|
public bool HasStartArrow
|
|
|
{
|
|
|
get
|
|
@@ -256,10 +236,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 开始箭头是否封闭
|
|
|
- /// </summary>
|
|
|
+ }
|
|
|
+
|
|
|
public bool IsStartClosed
|
|
|
{
|
|
|
get
|
|
@@ -270,10 +248,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 是否有结束箭头
|
|
|
- /// </summary>
|
|
|
+ }
|
|
|
+
|
|
|
public bool HasEndArrow
|
|
|
{
|
|
|
get
|
|
@@ -284,10 +260,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 结束箭头是否封闭
|
|
|
- /// </summary>
|
|
|
+ }
|
|
|
+
|
|
|
public bool IsEndClosed
|
|
|
{
|
|
|
get
|
|
@@ -298,38 +272,15 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 箭头角度
|
|
|
- /// </summary>
|
|
|
- public uint ArrowAngle { get; set; }
|
|
|
- /// <summary>
|
|
|
- /// 箭头长度
|
|
|
- /// </summary>
|
|
|
- public uint ArrowLength { get; set; }
|
|
|
- /// <summary>
|
|
|
- /// 起始点
|
|
|
- /// </summary>
|
|
|
- public Point? LineStart { get; set; }
|
|
|
- /// <summary>
|
|
|
- /// 结束点
|
|
|
- /// </summary>
|
|
|
- public Point? LineEnd { get; set; }
|
|
|
- /// <summary>
|
|
|
- /// 线段路径
|
|
|
- /// </summary>
|
|
|
- public PathGeometry Body { get; set; }
|
|
|
- /// <summary>
|
|
|
- /// 开始箭头形状
|
|
|
- /// </summary>
|
|
|
- public C_LINE_TYPE StartSharp { get; set; }
|
|
|
- /// <summary>
|
|
|
- /// 结束箭头形状
|
|
|
- /// </summary>
|
|
|
- public C_LINE_TYPE EndSharp { get; set; }
|
|
|
- /// <summary>
|
|
|
- /// 箭头帮助类
|
|
|
- /// </summary>
|
|
|
+ }
|
|
|
+
|
|
|
+ public uint ArrowAngle { get; set; }
|
|
|
+ public uint ArrowLength { get; set; }
|
|
|
+ public Point? LineStart { get; set; }
|
|
|
+ public Point? LineEnd { get; set; }
|
|
|
+ public PathGeometry Body { get; set; }
|
|
|
+ public C_LINE_TYPE StartSharp { get; set; }
|
|
|
+ public C_LINE_TYPE EndSharp { get; set; }
|
|
|
public ArrowHelper()
|
|
|
{
|
|
|
Body = new PathGeometry();
|
|
@@ -340,13 +291,10 @@ namespace Compdfkit_Tools.Helper
|
|
|
{
|
|
|
if (LineStart != null && LineEnd != null)
|
|
|
{
|
|
|
- PathFigure lineFigure = new PathFigure();
|
|
|
- // lineFigure.IsClosed = true;
|
|
|
+ PathFigure lineFigure = new PathFigure();
|
|
|
lineFigure.StartPoint = (Point)LineStart;
|
|
|
LineSegment linePath = new LineSegment();
|
|
|
- linePath.Point = (Point)LineEnd;
|
|
|
- //linePath.IsSmoothJoin = true;
|
|
|
- //linePath.IsStroked = true;
|
|
|
+ linePath.Point = (Point)LineEnd;
|
|
|
lineFigure.Segments.Add(linePath);
|
|
|
return lineFigure;
|
|
|
}
|
|
@@ -407,11 +355,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
break;
|
|
|
}
|
|
|
return null;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 创建箭头路径
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
public PathGeometry BuildArrowBody()
|
|
|
{
|
|
|
Body.Figures.Clear();
|
|
@@ -432,11 +377,7 @@ namespace Compdfkit_Tools.Helper
|
|
|
}
|
|
|
return Body;
|
|
|
}
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 绘制开始箭头
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+
|
|
|
private PathFigure CreateStartOpenArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasStartArrow || LineStart == null || LineEnd == null || ArrowAngle == 0)
|
|
@@ -458,11 +399,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.IsClosed = IsStartClosed;
|
|
|
arrowFigure.IsFilled = IsStartClosed;
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制结束箭头
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateEndOpenArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasEndArrow || LineStart == null || LineEnd == null || ArrowAngle == 0)
|
|
@@ -484,11 +422,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.IsClosed = IsEndClosed;
|
|
|
arrowFigure.IsFilled = IsEndClosed;
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制开始箭头(逆向)
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateStartReverseArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasStartArrow || LineStart == null || LineEnd == null || ArrowAngle == 0)
|
|
@@ -510,11 +445,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.IsClosed = IsStartClosed;
|
|
|
arrowFigure.IsFilled = IsStartClosed;
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制结束箭头(逆向)
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateEndReverseArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasEndArrow || LineStart == null || LineEnd == null || ArrowAngle == 0)
|
|
@@ -537,11 +469,7 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.IsFilled = IsEndClosed;
|
|
|
return arrowFigure;
|
|
|
}
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 绘制开始平头
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+
|
|
|
private PathFigure CreateStartButtArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasStartArrow || LineStart == null || LineEnd == null)
|
|
@@ -560,11 +488,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
buttSegment.Point = ((Point)LineStart + (lineVector * rotateMatrix));
|
|
|
arrowFigure.Segments.Add(buttSegment);
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制结束平头
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateEndButtArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasEndArrow || LineStart == null || LineEnd == null)
|
|
@@ -584,11 +509,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.Segments.Add(buttSegment);
|
|
|
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制开始菱形
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateStartDiamondArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasStartArrow || LineStart == null || LineEnd == null)
|
|
@@ -626,11 +548,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.IsClosed = IsStartClosed;
|
|
|
arrowFigure.IsFilled = IsStartClosed;
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制结束菱形
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateEndDiamondArrow()
|
|
|
{
|
|
|
|
|
@@ -669,11 +588,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.IsClosed = IsEndClosed;
|
|
|
arrowFigure.IsFilled = IsEndClosed;
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制开始圆形
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateStartRoundArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasStartArrow || LineStart == null || LineEnd == null)
|
|
@@ -699,11 +615,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.Segments.Add(circleSegment);
|
|
|
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制结束圆形
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateEndRoundArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasEndArrow || LineStart == null || LineEnd == null)
|
|
@@ -729,11 +642,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.Segments.Add(circleSegment);
|
|
|
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制开始方形
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateStartSquareArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasStartArrow || LineStart == null || LineEnd == null)
|
|
@@ -766,11 +676,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.Segments.Add(squreSegment);
|
|
|
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制结束方形
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateEndSquareArrow()
|
|
|
{
|
|
|
|
|
@@ -804,11 +711,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
arrowFigure.Segments.Add(squreSegment);
|
|
|
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制开始斜线
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateStartSlashArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasStartArrow || LineStart == null || LineEnd == null)
|
|
@@ -827,11 +731,8 @@ namespace Compdfkit_Tools.Helper
|
|
|
buttSegment.Point = ((Point)LineStart + (lineVector * rotateMatrix));
|
|
|
arrowFigure.Segments.Add(buttSegment);
|
|
|
return arrowFigure;
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 绘制结束斜线
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
+ }
|
|
|
+
|
|
|
private PathFigure CreateEndSlashArrow()
|
|
|
{
|
|
|
if (ArrowLength == 0 || !HasEndArrow || LineStart == null || LineEnd == null)
|