|
@@ -10,6 +10,7 @@ using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
+using System.Windows.Data;
|
|
|
|
|
|
namespace compdfkit_tools.Annotation.PDFAnnotationPanel.PDFAnnotationUI
|
|
|
{
|
|
@@ -19,12 +20,53 @@ namespace compdfkit_tools.Annotation.PDFAnnotationPanel.PDFAnnotationUI
|
|
|
|
|
|
public void RaisePropertyChanged(string PropertyName)
|
|
|
{
|
|
|
- if (this.PropertyChanged!=null)
|
|
|
+ if (this.PropertyChanged != null)
|
|
|
{
|
|
|
this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs(PropertyName));
|
|
|
}
|
|
|
}
|
|
|
+ #region StandardStamp
|
|
|
|
|
|
+ List<string> Path = new List<string>
|
|
|
+ {
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Approved.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/NotApproved.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Completed.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Final.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Draft.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Confidential.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/ForPublicRelease.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/NotForPublicRelease.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/ForComment.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Void.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/PreliminaryResults.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/InformationOnly.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Accepted.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Rejected.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/Witness.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/InitialHere.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/SignHere.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/revised.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/PrivateMark1.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/PrivateMark2.png",
|
|
|
+ "pack://application:,,,/com.compdfkit.tools;component/Asset/Resource/Annotation/StampIcons/PrivateMark3.png",
|
|
|
+ };
|
|
|
+ List<string> StampText = new List<string>
|
|
|
+ {
|
|
|
+ "Approved","NotApproved","Completed","Final","Draft","Confidential","ForPublicRelease","NotForPublicRelease",
|
|
|
+ "ForComment","Void","PreliminaryResults","InformationOnly","Accepted","Rejected","Witness","InitialHere","SignHere",
|
|
|
+ "revised","PrivateMark#1","PrivateMark#2","PrivateMark#3"
|
|
|
+ };
|
|
|
+ List<int> MaxWidth = new List<int>
|
|
|
+ {
|
|
|
+ 218,292,234,130,150,280,386,461,282,121,405,366,30,30,133,133,133,173,30,30,30
|
|
|
+ };
|
|
|
+ List<int> MaxHeight = new List<int>
|
|
|
+ {
|
|
|
+ 66,66,66,66,66,66,66,66,66,66,66,66,30,30,39,39,39,66,30,30,30
|
|
|
+ };
|
|
|
+
|
|
|
+ #endregion
|
|
|
public ObservableCollection<CPDFStampData> StandardStampList { get; set; }
|
|
|
public ObservableCollection<CPDFStampData> CustomStampList { get; set; }
|
|
|
|
|
@@ -34,11 +76,27 @@ namespace compdfkit_tools.Annotation.PDFAnnotationPanel.PDFAnnotationUI
|
|
|
CustomStampList = new ObservableCollection<CPDFStampData>();
|
|
|
InitStandardStamp();
|
|
|
LoadSettings();
|
|
|
+
|
|
|
+
|
|
|
+ ICollectionView groupView = CollectionViewSource.GetDefaultView(CustomStampList);
|
|
|
+ groupView.GroupDescriptions.Add(new PropertyGroupDescription(nameof(CPDFStampData.Type)));
|
|
|
}
|
|
|
|
|
|
public void InitStandardStamp()
|
|
|
{
|
|
|
-
|
|
|
+ for (int i = 0; i < Path.Count; i++)
|
|
|
+ {
|
|
|
+ CPDFStampData standardStamp = new CPDFStampData();
|
|
|
+ standardStamp.Author = "";
|
|
|
+ standardStamp.Opacity = 1;
|
|
|
+ standardStamp.SourcePath = Path[i];
|
|
|
+ standardStamp.StampText = StampText[i];
|
|
|
+ standardStamp.MaxWidth = MaxWidth[i];
|
|
|
+ standardStamp.MaxHeight = MaxHeight[i];
|
|
|
+ standardStamp.Type = StampType.STANDARD_STAMP;
|
|
|
+ standardStamp.AnnotationType = AnnotationType.Stamp;
|
|
|
+ StandardStampList.Add(standardStamp);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -46,10 +104,31 @@ namespace compdfkit_tools.Annotation.PDFAnnotationPanel.PDFAnnotationUI
|
|
|
/// </summary>
|
|
|
public void LoadSettings()
|
|
|
{
|
|
|
-
|
|
|
+ CustomStampList stamps = Settings.Default.CustomStampList;
|
|
|
+ if (stamps != null)
|
|
|
+ {
|
|
|
+ for (int i = 0; i < stamps.Count; i++)
|
|
|
+ {
|
|
|
+ CPDFStampData customStamp = new CPDFStampData();
|
|
|
+ customStamp.Opacity = 1;
|
|
|
+ customStamp.Author = stamps[i].Author;
|
|
|
+ customStamp.StampText = stamps[i].StampText;
|
|
|
+ customStamp.StampTextDate = stamps[i].StampTextDate;
|
|
|
+ customStamp.MaxWidth = stamps[i].MaxWidth;
|
|
|
+ customStamp.MaxHeight = stamps[i].MaxHeight;
|
|
|
+ customStamp.SourcePath = stamps[i].SourcePath;
|
|
|
+ customStamp.Type = stamps[i].Type;
|
|
|
+ customStamp.TextSharp = stamps[i].TextSharp;
|
|
|
+ customStamp.TextColor = stamps[i].TextColor;
|
|
|
+ customStamp.IsCheckedTime = stamps[i].IsCheckedTime;
|
|
|
+ customStamp.IsCheckedDate = stamps[i].IsCheckedDate;
|
|
|
+ customStamp.AnnotationType = AnnotationType.Stamp;
|
|
|
+ CustomStampList.Add(customStamp);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public void DeleteStamp(CPDFStampData stampData)
|
|
|
+ public void DeleteStamp(CPDFStampData stampData)
|
|
|
{
|
|
|
int index = CustomStampList.IndexOf(stampData);
|
|
|
DirectoryInfo CreatedFilePathFolder = new DirectoryInfo(stampData.SourcePath);
|
|
@@ -58,11 +137,25 @@ namespace compdfkit_tools.Annotation.PDFAnnotationPanel.PDFAnnotationUI
|
|
|
Directory.Delete(stampData.SourcePath, true);
|
|
|
}
|
|
|
CustomStampList.RemoveAt(index);
|
|
|
+
|
|
|
+ CustomStampList stamps = Settings.Default.CustomStampList;
|
|
|
+ stamps.RemoveAt(index);
|
|
|
+ Settings.Default.Save();
|
|
|
}
|
|
|
public void UpDataCustomStamp(CPDFStampData oldstamp)
|
|
|
{
|
|
|
- CustomStampList.Add(oldstamp);
|
|
|
+ if (oldstamp != null)
|
|
|
+ {
|
|
|
+ CustomStampList.Add(oldstamp);
|
|
|
+ //缓存数据
|
|
|
+ CustomStampList stamps = Settings.Default.CustomStampList;
|
|
|
+ if (stamps == null)
|
|
|
+ {
|
|
|
+ stamps = Settings.Default.CustomStampList = new CustomStampList();
|
|
|
+ }
|
|
|
+ stamps.Add(oldstamp);
|
|
|
+ Settings.Default.Save();
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|