123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- using ComPDFKit.PDFAnnotation;
- using compdfkit_tools.PDFControl;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Media;
- namespace compdfkit_tools.Data
- {
- public enum AnnotationType
- {
- None = 0,
- Highlight,
- Underline,
- Strikeout,
- Squiggly,
- Freetext,
- Note,
- Circle,
- Square,
- Arrow,
- Line,
- Stamp,
- Signature,
- Link,
- Sound
- }
- public static class CPDFAnnotationDictionary
- {
- public static Dictionary<string, AnnotationType> GetAnnotationFromTag = new Dictionary<string, AnnotationType>() {
- { "Highlight", AnnotationType.Highlight },
- { "Underline", AnnotationType.Underline },
- { "Strikeout", AnnotationType.Strikeout },
- { "Squiggly", AnnotationType.Squiggly },
- { "Square", AnnotationType.Square },
- { "Circle", AnnotationType.Circle },
- { "Line", AnnotationType.Line },
- { "Arrow", AnnotationType.Arrow }
- };
- public static Dictionary<int, C_LINE_TYPE> GetLineTypeFromIndex = new Dictionary<int, C_LINE_TYPE>()
- {
- { 0, C_LINE_TYPE.LINETYPE_NONE },
- { 1, C_LINE_TYPE.LINETYPE_ARROW },
- { 2, C_LINE_TYPE.LINETYPE_CLOSEDARROW },
- { 3, C_LINE_TYPE.LINETYPE_SQUARE },
- { 4, C_LINE_TYPE.LINETYPE_CIRCLE },
- { 5, C_LINE_TYPE.LINETYPE_DIAMOND },
- { 6, C_LINE_TYPE.LINETYPE_BUTT },
- { 7, C_LINE_TYPE.LINETYPE_ROPENARROW },
- { 8, C_LINE_TYPE.LINETYPE_RCLOSEDARROW },
- { 9, C_LINE_TYPE.LINETYPE_SLASH }
- };
- }
- public class LineType
- {
- public C_LINE_TYPE HeadType;
- public C_LINE_TYPE TailType;
- }
- /// <summary>
- /// 用于换算的dash
- /// </summary>
- public class CPDFDash
- {
- public bool IsSolid = true;
- public int DashSpacing = 1;
- }
- public abstract class CPDFAnnotationData
- {
- public AnnotationType AnnotationType;
- public string Note = string.Empty;
- public string Author = "ComPDFKit";
- public bool IsLocked = false;
- }
- public class CPDFMarkupData : CPDFAnnotationData
- {
- public double Opacity = 1;
- public Color Color = Color.FromRgb(255, 0, 0);
- }
- public class CPDFShapeData : CPDFAnnotationData
- {
- public Color BorderColor = Color.FromRgb(255, 0, 0);
- public Color FillColor = Color.FromRgb(255, 255, 255);
- public double Opacity = 1;
- public double Thickness = 1;
- public DashStyle DashStyle = DashStyles.Solid;
- public LineType LineType = new LineType() { HeadType = C_LINE_TYPE.LINETYPE_NONE, TailType = C_LINE_TYPE.LINETYPE_NONE};
- }
- public class CPDFLineShapeData : CPDFAnnotationData
- {
- public Color BorderColor = Color.FromRgb(255, 0, 0);
- public C_LINE_TYPE HeadLineType = C_LINE_TYPE.LINETYPE_NONE;
- public C_LINE_TYPE TailLineType = C_LINE_TYPE.LINETYPE_NONE;
- public double Opacity = 1;
- public double Thickness = 1;
- public DashStyle DashStyle = DashStyles.Solid;
- public LineType LineType = new LineType() { HeadType = C_LINE_TYPE.LINETYPE_NONE, TailType = C_LINE_TYPE.LINETYPE_NONE };
- }
- }
|