|
@@ -116,7 +116,7 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
- if (int.Parse(args.Text) > 0 && int.Parse(args.Text) <= PDFViewer.Document.PageCount )
|
|
|
+ if (int.Parse(args.Text) > 0 && int.Parse(args.Text) <= PDFViewer.Document.PageCount)
|
|
|
{
|
|
|
PDFViewer.GoToPage(int.Parse(args.Text) - 1);
|
|
|
InputIndexBoxVisible = Visibility.Collapsed;
|
|
@@ -130,39 +130,45 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
viewContentViewModel.PDFViewer.Document.DeleteWatermarks();
|
|
|
}
|
|
|
-
|
|
|
- if (watermarkInfo != null)
|
|
|
+ else
|
|
|
{
|
|
|
-
|
|
|
- if (EnumDelete == EnumDelete.StatusDeleteInitial)
|
|
|
+ if (watermarkInfo != null)
|
|
|
{
|
|
|
- viewContentViewModel.PDFViewer.Document.DeleteWatermarks();
|
|
|
- CreateWatermark(viewContentViewModel.PDFViewer.Document);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- CreateWatermark(viewContentViewModel.PDFViewer.Document);
|
|
|
+
|
|
|
+ if (EnumDelete == EnumDelete.StatusDeleteInitial)
|
|
|
+ {
|
|
|
+ viewContentViewModel.PDFViewer.Document.DeleteWatermarks();
|
|
|
+ CreateWatermark(viewContentViewModel.PDFViewer.Document);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ CreateWatermark(viewContentViewModel.PDFViewer.Document);
|
|
|
+ }
|
|
|
}
|
|
|
- viewContentViewModel.PDFViewer.UndoManager.CanSave = true;
|
|
|
}
|
|
|
+ viewContentViewModel.PDFViewer.UndoManager.CanSave = true;
|
|
|
}
|
|
|
|
|
|
public void DeleteWatermark(EnumDeleteUnicode enumDeleteunicode)
|
|
|
{
|
|
|
- EnumDelete enumDelete = enumDeleteunicode.Status;
|
|
|
- EnumDelete = enumDelete;
|
|
|
- PDFViewer.Document.DeleteWatermarks();
|
|
|
- PDFViewer.Document.ReleasePages();
|
|
|
- PDFViewer.ReloadDocument();
|
|
|
+ if (EnumDelete == EnumDelete.StatusDeleteAll)
|
|
|
+ {
|
|
|
+ EnumDelete enumDelete = enumDeleteunicode.Status;
|
|
|
+ EnumDelete = enumDelete;
|
|
|
+ PDFViewer.Document.DeleteWatermarks();
|
|
|
+ PDFViewer.Document.ReleasePages();
|
|
|
+ PDFViewer.ReloadDocument();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public void SetWatermark(WatermarkInfoUnicode watermarkInfounicode)
|
|
|
{
|
|
|
WatermarkInfo watermarkInfo = watermarkInfounicode.Status;
|
|
|
this.watermarkInfo = watermarkInfo;
|
|
|
+ EnumDelete = EnumDelete.StatusCreate;
|
|
|
//CreateWatermark(viewContentViewModel.PDFViewer.Document);
|
|
|
// PDFViewer.Document.PdfToImage("0-1", "C:\\Users\\kdanmobile\\Desktop\\888\\");
|
|
|
- viewContentViewModel.PDFViewer.Document.WriteToFilePath("C:\\Users\\kdanmobile\\Desktop\\888\\sb22222_.pdf");
|
|
|
+ //viewContentViewModel.PDFViewer.Document.WriteToFilePath("C:\\Users\\kdanmobile\\Desktop\\888\\sb22222_.pdf");
|
|
|
PDFViewer.InvalidChildVisual(false);
|
|
|
|
|
|
}
|
|
@@ -189,10 +195,10 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
{
|
|
|
watermark.SetImage(watermarkInfo.ImageArray, watermarkInfo.ImageWidth, watermarkInfo.ImageHeight);
|
|
|
}
|
|
|
- watermark.SetScale(watermarkInfo.ImageSize/100);
|
|
|
+ watermark.SetScale(watermarkInfo.ImageSize / 100);
|
|
|
}
|
|
|
- watermark.SetRotation((float)((watermarkInfo.Rotation / 180) *Math.PI ));
|
|
|
- watermark.SetOpacity((byte)(((float)watermarkInfo.Opacity/ 100) * 225));
|
|
|
+ watermark.SetRotation((float)((watermarkInfo.Rotation / 180) * Math.PI));
|
|
|
+ watermark.SetOpacity((byte)(((float)watermarkInfo.Opacity / 100) * 255));
|
|
|
watermark.SetFront(watermarkInfo.IsFront);
|
|
|
watermark.SetVertalign(watermarkInfo.WatermarkVertalign);
|
|
|
watermark.SetHorizalign(watermarkInfo.WatermarkHorizalign);
|
|
@@ -261,10 +267,10 @@ namespace PDF_Office.ViewModels.EditTools.Watermark
|
|
|
CreateWatermark(newDoc, true);
|
|
|
CPDFPage newPage = newDoc.PageAtIndex(0);
|
|
|
double scale = 96.0 / 72.0;
|
|
|
- zoom = zoom * 1.5;
|
|
|
+ zoom = zoom * 1.5;
|
|
|
Rect renderRect = new Rect(0, 0, (int)(pageSize.Width * scale), (int)(pageSize.Height * scale));
|
|
|
byte[] imageArray = new byte[(int)(renderRect.Width * renderRect.Height * 4)];
|
|
|
- newPage.RenderPageBitmapWithMatrix(1/(float)zoom, renderRect, 0x00FFFFFF, imageArray, 1, true);
|
|
|
+ newPage.RenderPageBitmapWithMatrix(1 / (float)zoom, renderRect, 0x00FFFFFF, imageArray, 1, true);
|
|
|
WriteableBitmap WirteBitmap = new WriteableBitmap((int)renderRect.Width, (int)renderRect.Height, 96, 96, PixelFormats.Bgra32, null);
|
|
|
WirteBitmap.WritePixels(new Int32Rect(0, 0, (int)renderRect.Width, (int)renderRect.Height), imageArray, WirteBitmap.BackBufferStride, 0);
|
|
|
return WirteBitmap;
|