|
@@ -2,6 +2,7 @@
|
|
using ComPDFKit.PDFWatermark;
|
|
using ComPDFKit.PDFWatermark;
|
|
using ComPDFKitViewer.AnnotEvent;
|
|
using ComPDFKitViewer.AnnotEvent;
|
|
using ComPDFKitViewer.PdfViewer;
|
|
using ComPDFKitViewer.PdfViewer;
|
|
|
|
+using Microsoft.Office.Interop.Word;
|
|
using PDF_Office.EventAggregators;
|
|
using PDF_Office.EventAggregators;
|
|
using PDF_Office.Helper;
|
|
using PDF_Office.Helper;
|
|
using PDF_Office.Model;
|
|
using PDF_Office.Model;
|
|
@@ -14,6 +15,7 @@ using Prism.Regions;
|
|
using System;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Linq;
|
|
|
|
+using System.Windows.Forms;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media;
|
|
|
|
|
|
namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
@@ -155,6 +157,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _textValue, value);
|
|
SetProperty(ref _textValue, value);
|
|
WatermarkInfo.Text = TextValue;
|
|
WatermarkInfo.Text = TextValue;
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -165,7 +168,8 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
set
|
|
set
|
|
{
|
|
{
|
|
SetProperty(ref _rotationValue, value);
|
|
SetProperty(ref _rotationValue, value);
|
|
- WatermarkInfo.Rotation = (float)RotationValue;
|
|
|
|
|
|
+ WatermarkInfo.Rotation = ((float)RotationValue/180)*3.1415926f;
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -177,6 +181,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _opacityValue, value);
|
|
SetProperty(ref _opacityValue, value);
|
|
WatermarkInfo.Opacity = (byte)(((float)OpacityValue/100)*225);
|
|
WatermarkInfo.Opacity = (byte)(((float)OpacityValue/100)*225);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -198,6 +203,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _vertOffsetValue, value);
|
|
SetProperty(ref _vertOffsetValue, value);
|
|
WatermarkInfo.VertOffset = float.Parse(VertOffsetValue);
|
|
WatermarkInfo.VertOffset = float.Parse(VertOffsetValue);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -209,6 +215,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _horizOffsetValue, value);
|
|
SetProperty(ref _horizOffsetValue, value);
|
|
WatermarkInfo.HorizOffset = float.Parse(HorizOffsetValue);
|
|
WatermarkInfo.HorizOffset = float.Parse(HorizOffsetValue);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -220,6 +227,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _verticalSpacingValue, value);
|
|
SetProperty(ref _verticalSpacingValue, value);
|
|
WatermarkInfo.VerticalSpacing = float.Parse(VerticalSpacingValue);
|
|
WatermarkInfo.VerticalSpacing = float.Parse(VerticalSpacingValue);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -231,6 +239,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _horizontalSpacingValue, value);
|
|
SetProperty(ref _horizontalSpacingValue, value);
|
|
WatermarkInfo.HorizontalSpacing = float.Parse(HorizontalSpacingValue);
|
|
WatermarkInfo.HorizontalSpacing = float.Parse(HorizontalSpacingValue);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -242,6 +251,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _fontSizeSelectedIndex, value);
|
|
SetProperty(ref _fontSizeSelectedIndex, value);
|
|
SetFontSize(FontSizeSelectedIndex);
|
|
SetFontSize(FontSizeSelectedIndex);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -253,6 +263,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _fontNameSelectedIndex, value);
|
|
SetProperty(ref _fontNameSelectedIndex, value);
|
|
SetFontName(FontNameSelectedIndex);
|
|
SetFontName(FontNameSelectedIndex);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -264,6 +275,31 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
SetProperty(ref _isFrontSelectedIndex, value);
|
|
SetProperty(ref _isFrontSelectedIndex, value);
|
|
SetIsFront(IsFrontSelectedIndex);
|
|
SetIsFront(IsFrontSelectedIndex);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private bool _isFullValue = false;
|
|
|
|
+ public bool IsFullValue
|
|
|
|
+ {
|
|
|
|
+ get { return _isFullValue; }
|
|
|
|
+ set
|
|
|
|
+ {
|
|
|
|
+ SetProperty(ref _isFullValue, value);
|
|
|
|
+ WatermarkInfo.Isfull = IsFullValue;
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ private SolidColorBrush _solidColorBrush=null;
|
|
|
|
+ public SolidColorBrush SolidColorBrush {
|
|
|
|
+ get
|
|
|
|
+ {
|
|
|
|
+ return _solidColorBrush;
|
|
|
|
+ }
|
|
|
|
+ set
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ SetProperty(ref _solidColorBrush, value);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -276,12 +312,19 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
}
|
|
}
|
|
set
|
|
set
|
|
{
|
|
{
|
|
- _stringColor= value;
|
|
|
|
- WatermarkInfo.TextColor = EditToolsHelper.ConvertColor(value);
|
|
|
|
|
|
+ SetProperty(ref _stringColor, value);
|
|
|
|
+ WatermarkInfo.TextColor = EditToolsHelper.ConvertColor(value);
|
|
|
|
+ SolidColorBrush = new SolidColorBrush(_stringColor);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- public string PageRangeText { get; set; } = "0";
|
|
|
|
|
|
+ public string _pageRangeText = "0";
|
|
|
|
+ public string PageRangeText {
|
|
|
|
+ get { return _pageRangeText; }
|
|
|
|
+ set { _pageRangeText = value;
|
|
|
|
+ EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
private int _pageRangeSelectIndex = 0;
|
|
private int _pageRangeSelectIndex = 0;
|
|
public int PageRangeSelectIndex
|
|
public int PageRangeSelectIndex
|
|
@@ -305,16 +348,18 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
|
|
|
public DelegateCommand<object> SelectedColorChangedCommand { get; set; }
|
|
public DelegateCommand<object> SelectedColorChangedCommand { get; set; }
|
|
|
|
|
|
|
|
+ public DelegateCommand<object> TextValueChangedCommand { get; set; }
|
|
|
|
+
|
|
public WatermarkCreateTextContentViewModel(IEventAggregator eventAggregator)
|
|
public WatermarkCreateTextContentViewModel(IEventAggregator eventAggregator)
|
|
{
|
|
{
|
|
this.eventAggregator=eventAggregator;
|
|
this.eventAggregator=eventAggregator;
|
|
WatermarkInfo.WatermarkType = C_Watermark_Type.WATERMARK_TYPE_TEXT;
|
|
WatermarkInfo.WatermarkType = C_Watermark_Type.WATERMARK_TYPE_TEXT;
|
|
- StringColor = Color.FromArgb(0xFF, 0xFF, 0x00, 0x00);
|
|
|
|
ChangeLocationCommand = new DelegateCommand<object>(ChangeLocation);
|
|
ChangeLocationCommand = new DelegateCommand<object>(ChangeLocation);
|
|
SelectedColorChangedCommand = new DelegateCommand<object>(SelectedColorChanged_Click);
|
|
SelectedColorChangedCommand = new DelegateCommand<object>(SelectedColorChanged_Click);
|
|
|
|
+ TextValueChangedCommand = new DelegateCommand<object>(TextValueChanged);
|
|
|
|
+
|
|
InitList();
|
|
InitList();
|
|
- WatermarkInfo.WatermarkHorizalign = C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER;
|
|
|
|
- WatermarkInfo.WatermarkVertalign = C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER;
|
|
|
|
|
|
+ InitWatermarkInfo();
|
|
InitLocationButtonMatrix();
|
|
InitLocationButtonMatrix();
|
|
eventAggregator.GetEvent<ConfirmEditToolsWatermarkEvent>().Subscribe(ConfirmEditToolsWatermark);
|
|
eventAggregator.GetEvent<ConfirmEditToolsWatermarkEvent>().Subscribe(ConfirmEditToolsWatermark);
|
|
}
|
|
}
|
|
@@ -342,6 +387,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
{
|
|
{
|
|
WatermarkInfo.WatermarkVertalign = (C_Watermark_Vertalign)(int.Parse(args) / 10);
|
|
WatermarkInfo.WatermarkVertalign = (C_Watermark_Vertalign)(int.Parse(args) / 10);
|
|
WatermarkInfo.WatermarkHorizalign = (C_Watermark_Horizalign)(int.Parse(args) % 10);
|
|
WatermarkInfo.WatermarkHorizalign = (C_Watermark_Horizalign)(int.Parse(args) % 10);
|
|
|
|
+ eventAggregator.GetEvent<SetWatermarkEvent>().Publish(WatermarkInfo);
|
|
InitLocationButtonMatrix();
|
|
InitLocationButtonMatrix();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -358,6 +404,18 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ private void TextValueChanged(object obj) {
|
|
|
|
+ if (obj != null)
|
|
|
|
+ {
|
|
|
|
+ var textValue = obj as System.Windows.Controls.TextBox;
|
|
|
|
+ if (textValue != null)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ TextValue = textValue.Text;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
private void SetFontName(int Index)
|
|
private void SetFontName(int Index)
|
|
{
|
|
{
|
|
@@ -404,6 +462,25 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
InitScaleList();
|
|
InitScaleList();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void InitWatermarkInfo() {
|
|
|
|
+
|
|
|
|
+ WatermarkInfo.Text = TextValue;
|
|
|
|
+ WatermarkInfo.Rotation = ((float)RotationValue / 180) * 3.1415926f;
|
|
|
|
+ WatermarkInfo.Opacity= (byte)(((float)OpacityValue / 100) * 225);
|
|
|
|
+ WatermarkInfo.VertOffset = float.Parse(VertOffsetValue);
|
|
|
|
+ WatermarkInfo.HorizOffset = float.Parse(HorizOffsetValue);
|
|
|
|
+ WatermarkInfo.VerticalSpacing = float.Parse(VerticalSpacingValue);
|
|
|
|
+ WatermarkInfo.HorizontalSpacing = float.Parse(HorizontalSpacingValue);
|
|
|
|
+ WatermarkInfo.WatermarkHorizalign = C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER;
|
|
|
|
+ WatermarkInfo.WatermarkVertalign = C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER;
|
|
|
|
+ WatermarkInfo.Isfull = IsFullValue;
|
|
|
|
+ SetFontName(FontNameSelectedIndex);
|
|
|
|
+ SetFontSize(FontSizeSelectedIndex);
|
|
|
|
+ SetIsFront(IsFrontSelectedIndex);
|
|
|
|
+ StringColor = Color.FromArgb(0xFF, 0xFF, 0x00, 0x00);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
public bool IsNavigationTarget(NavigationContext navigationContext)
|
|
public bool IsNavigationTarget(NavigationContext navigationContext)
|
|
{
|
|
{
|
|
return true;
|
|
return true;
|
|
@@ -416,6 +493,8 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
public void OnNavigatedTo(NavigationContext navigationContext)
|
|
public void OnNavigatedTo(NavigationContext navigationContext)
|
|
{
|
|
{
|
|
navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
|
|
navigationContext.Parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out PDFViewer);
|
|
|
|
+ EditToolsHelper.GetPageRange(PageRangeSelectIndex, PDFViewer.Document, ref WatermarkInfo.PageRange, PageRangeText);
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|