Exemplo n.º 1
0
        /// <summary>
        /// Draw the signature at the given location with a given size from a base64 encoded PNG image
        /// </summary>
        /// <param name="customActionEventArgs">The arguments received from the custom action handler</param>
        /// <param name="annotationManager">The annotation manager object</param>
        private static void AddSignatureAnnotation(CustomActionEventArgs customActionEventArgs, AnnotationManager annotationMngr)
        {
            ClearAnnotation(annotationMngr, "signature");
            const string            BASE64_SIGNATURE_IMAGE = "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";
            AnnotationEmbeddedImage signature = annotationMngr.AddEmbeddedImageAnnotFromBase64(BASE64_SIGNATURE_IMAGE,
                                                                                               5.38f, 7.9f, 0.86f, 0.86f);

            signature.CanRotate = false;
            signature.Tag       = "signature";
            annotationMngr.SaveAnnotationsToPage();
            customActionEventArgs.docuVieware.ReloadAnnotations();
        }
Exemplo n.º 2
0
        /// <summary>
        /// AddEmbeddedImageAnnot adds an embedded image annotation.
        /// </summary>
        /// <param name="leftPixels">The left coordinate of the annotation (pixels).</param>
        /// <param name="topPixels">The top coordinate of the annotation (pixels).</param>
        /// <param name="widthPixels">The width of the annotation (pixels).</param>
        /// <param name="heightPixels">The height of the annotation (pixels).</param>
        /// <param name="dib">Pointer to a Microsoft® Windows® Graphics Device Interface (GDI) BITMAPINFO structure, as IntPtr value.</param>
        public void AddEmbeddedImageAnnot(int leftPixels, int topPixels, int widthPixels, int heightPixels, IntPtr dib)
        {
            GdPictureImaging imaging = new GdPictureImaging();
            int id = imaging.CreateGdPictureImageFromDIB(dib);

            if (id < 0)
            {
                LastError = imaging.GetStat();
                return;
            }

            AnnotationEmbeddedImage annotationEmbeddedImage = _annotationManager.AddEmbeddedImageAnnot(id,
                                                                                                       ToInchesHorizontal(leftPixels), ToInchesVertical(topPixels),
                                                                                                       ToInchesHorizontal(widthPixels), ToInchesVertical(heightPixels));

            GdPictureStatus status = _annotationManager.GetStat();

            if (status != GdPictureStatus.OK)
            {
                LastError = status;
            }
        }