private static GroupDocs.Viewer.Domain.WatermarkPosition? ToWatermarkPosition(WatermarkPosition? watermarkPosition) { if (!watermarkPosition.HasValue) return GroupDocs.Viewer.Domain.WatermarkPosition.Diagonal; switch (watermarkPosition.Value) { case WatermarkPosition.Diagonal: return GroupDocs.Viewer.Domain.WatermarkPosition.Diagonal; case WatermarkPosition.TopLeft: return GroupDocs.Viewer.Domain.WatermarkPosition.TopLeft; case WatermarkPosition.TopCenter: return GroupDocs.Viewer.Domain.WatermarkPosition.TopCenter; case WatermarkPosition.TopRight: return GroupDocs.Viewer.Domain.WatermarkPosition.TopRight; case WatermarkPosition.BottomLeft: return GroupDocs.Viewer.Domain.WatermarkPosition.BottomLeft; case WatermarkPosition.BottomCenter: return GroupDocs.Viewer.Domain.WatermarkPosition.BottomCenter; case WatermarkPosition.BottomRight: return GroupDocs.Viewer.Domain.WatermarkPosition.BottomRight; default: throw new ArgumentOutOfRangeException(); } }
public string GetFileUrl(string path, bool getPdf, bool isPrintable, string fileDisplayName = null, string watermarkText = null, int? watermarkColor = null, WatermarkPosition? watermarkPosition = WatermarkPosition.Diagonal, float? watermarkWidth = 0, bool ignoreDocumentAbsence = false, bool useHtmlBasedEngine = false, bool supportPageRotation = false) { var queryString = HttpUtility.ParseQueryString(string.Empty); queryString["path"] = path; if (!isPrintable) { queryString["getPdf"] = getPdf.ToString().ToLower(); if (fileDisplayName != null) queryString["displayName"] = fileDisplayName; } if (watermarkText != null) { queryString["watermarkText"] = watermarkText; queryString["watermarkColor"] = watermarkColor.ToString(); if (watermarkPosition.HasValue) queryString["watermarkPosition"] = watermarkPosition.ToString(); if (watermarkWidth.HasValue) queryString["watermarkWidth"] = ((float)watermarkWidth).ToString(CultureInfo.InvariantCulture); } if (ignoreDocumentAbsence) queryString["ignoreDocumentAbsence"] = ignoreDocumentAbsence.ToString().ToLower(); queryString["useHtmlBasedEngine"] = useHtmlBasedEngine.ToString().ToLower(); queryString["supportPageRotation"] = supportPageRotation.ToString().ToLower(); var handlerName = isPrintable ? "GetPdfWithPrintDialog" : "GetFile"; var baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/document-viewer/"; var fileUrl = string.Format("{0}{1}?{2}", baseUrl, handlerName, queryString); return fileUrl; }
public static Watermark GetWatermark(string watermarkText, int? watermarkColor, WatermarkPosition? watermarkPosition, float? watermarkWidth) { if (string.IsNullOrWhiteSpace(watermarkText)) return null; return new Watermark(watermarkText) { Color = watermarkColor.HasValue ? Color.FromArgb(watermarkColor.Value) : Color.Red, Position = ToWatermarkPosition(watermarkPosition), Width = watermarkWidth }; }