精华内容
参与话题
问答
  • 各级国家机关、地方政府纷纷响应号召,全力推动电子签章普及、应用。 经过十多年的发展,电子签章已经逐渐从政府机关、国企单位,向地产、金融、医疗、食品、物流、制造等各个行业组织普及应用。 未来,契约锁...

    全面普及:

    2003年至今,随着各类法规、政策的完善,电子印章、电子签名已经具备了成熟的法律基础。各级国家机关、地方政府纷纷响应号召,全力推动电子签章普及、应用。

    经过十多年的发展,电子签章已经逐渐从政府机关、国企单位,向地产、金融、医疗、食品、物流、制造等各个行业组织普及应用。

    未来,契约锁将持续发挥统一印控中心价值,联合业务管理软件、移动办公应用,为更多组织提供安全、合法、高效、智能的电子化签署服务,助力业务全程电子化。

    展开全文
  • 如何实现电子签章效果

    千次阅读 2018-10-23 21:37:17
    报表数据系统中,有一个重要功能叫做电子签章,通俗的讲,就是不需要实际去盖章,而直接把图章打印到纸质文件上,省去手工盖章的费时费力环节,例如,银行系统中的银行流水打印,都需要盖章才能生效,如果按传统的...

    报表数据系统中,有一个重要功能叫做电子签章,通俗的讲,就是不需要实际去盖章,而直接把图章打印到纸质文件上,省去手工盖章的费时费力环节,例如,银行系统中的银行流水打印,都需要盖章才能生效,如果按传统的做法,那就是先打印出来流水,再找工作人员每页盖上章,工作人员需要先核对数据,再每页盖章,工作量极大且常常无意义。所以,银行系统中基本都会用到这个电子签章的功能。

    我们先来看看电子签章的效果:

    imagepng

    2、

    签章示例2

    …….

    以上都是使用电子签章实现的。现在,我们就用润乾报表来做一个小例子,看看怎样轻松实现这个功能呢?

    下面就是今天我们要做的小例子:

    imagepng

    竖起你们的小耳朵来,睁开你们的大眼睛,仔细听和认真看好哈 ~

    1、新建一个模板如下图:

    imagepng

    2、点击单元格 F8,右击— 菜单【数据图层】:  配置类型选择:URL 路径。

    URL 可以写:相对路径,绝对路径,或者是 http**** 格式的路径。

    imagepng

    3、点击确定预览效果为:

    imagepng

    这样一个模板就这样完美的实现啦 ~
    那么有人会问,配置类型里面的表达式是怎么使用的呢?
    好问题!
    这个表达式在什么时候使用呢?当我们的图片不能确定或者是动态变化的时候,我们就可以使用这个表达式了。
    例如:我要根据 A1 的单元格的值去动态显示图片。如果 A1==1,就显示 1.png(财务章),否则显示 2.png(公章)。注意喽,注意喽,这时我们的表达式就派上用场喽。
    在单元格属性 –【数据图层】中设置表达式如下图:

    imagepng

    这样,我们在报表中的设计就 ok 了,点击确定,保存发布之后就可以看到效果了。

    【小提示】 里面的表达式主要用到了 if 函数。表达式一定要在前面加等号哦。

    好啦,小伙伴们是不是都明白了呢?是不是觉得电子签章和水印都非常简单呢?有需求的小伙伴们赶紧到润乾官网下载我们的产品,安装试用一下里面的神奇功能吧! Have a pleasant surprise~



    作者:Spoiled
    链接:http://c.raqsoft.com.cn/article/1533027311780?r=xiaohuihui
    来源:乾学院
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • 电子签章系统

    千次阅读 2019-04-29 10:57:50
    http://www.utcsoft.com/product2.asp?id=112
    展开全文
  • 电子签章

    千次阅读 2018-09-19 16:19:11
    对于菜鸟级别的开发来说(@本人),可能连电子签章还搞不明白是什么东西,直接贴代码,看效果就知道了! import java.awt.AlphaComposite; import java.awt.BasicStroke; import java.awt.Color; import java.awt....

    对于菜鸟级别的开发来说(@本人),可能连电子签章还搞不明白是什么东西,直接贴代码,看效果就知道了!

    import java.awt.AlphaComposite;
    import java.awt.BasicStroke;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics2D;
    import java.awt.Shape;
    import java.awt.font.FontRenderContext;
    import java.awt.geom.AffineTransform;
    import java.awt.geom.Arc2D;
    import java.awt.geom.Rectangle2D;
    import java.awt.image.BufferedImage;
    import java.io.BufferedOutputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    public class SealUtils {
        private static final int CANVAS_SIZE = 300; // 画布宽
        private static final String FONT_FAMILY = "宋体"; // 字体
        //private static final String FOOT_TXT = "电子签约专用章";// 底部文字
        private static final String FOOT_TXT = "别在这里跟我皮";// 底部文字
        private static final String STAR = "★";
    
        private static int STAR_SIZE = (int) (CANVAS_SIZE / 3.2); // 五角星大小
        private static int FOOT_FONT_SIZE = CANVAS_SIZE / 12; // 底部文字大小
    
        /**
         * 根据companyName获得合同专用章
         *
         * @param companyName
         * @return
         */
        public static BufferedImage genSealImage(String companyName) {
            BufferedImage bi = new BufferedImage(CANVAS_SIZE, CANVAS_SIZE, BufferedImage.TYPE_4BYTE_ABGR);
            Graphics2D g2d = bi.createGraphics();
            g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC, 0));
            g2d.fillRect(0, 0, CANVAS_SIZE, CANVAS_SIZE);
    
            g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC, 1));
            int circleRadius = CANVAS_SIZE / 2 - 10;
            drawCicle(g2d, circleRadius);
            drawStar(g2d, circleRadius);
            drawFootText(g2d, circleRadius);
            drwaHeadText(companyName, g2d, circleRadius);
    
            g2d.dispose();
            return bi;
        }
    
        public static void main(String[] args) {
            try {
                String name="xxx"; //生成签章名称
                byte[] img= SealUtils.genSealData(name);
                byte2File(img,"D:\\test\\",name+".png");
            } catch (IOException e) {
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
        /**
         * 辅助方法,byte数组保存为本地文件
         * @param buf
         * @param filePath
         * @param fileName
         */
        private static void byte2File(byte[] buf, String filePath, String fileName)
        {
            BufferedOutputStream bos = null;
            FileOutputStream fos = null;
            File file = null;
            try
            {
                File dir = new File(filePath);
                if (!dir.exists())
                {
                    dir.mkdirs();
                }
                file = new File(filePath + File.separator + fileName);
                fos = new FileOutputStream(file);
                bos = new BufferedOutputStream(fos);
                bos.write(buf);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            finally
            {
                if (bos != null)
                {
                    try
                    {
                        bos.close();
                    }
                    catch (IOException e)
                    {
                        e.printStackTrace();
                    }
                }
                if (fos != null)
                {
                    try
                    {
                        fos.close();
                    }
                    catch (IOException e)
                    {
                        e.printStackTrace();
                    }
                }
            }
        }
    
    
        /**
         * 根据companyName获得合同专用章
         *
         * @param companyName
         * @return
         * @throws IOException
         */
        public static byte[] genSealData(String companyName) throws IOException {
            BufferedImage image = genSealImage(companyName);
            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
            try {
                ImageIO.write(image, "png", outStream);
            }
            catch (IOException e) {
                throw e;
            }
            finally {
                try {
                    outStream.close();
                }
                catch (IOException e) {
                }
            }
            byte[] imageData = outStream.toByteArray();
            return imageData;
        }
    
    
        /**
         * 弧形绘制顶部名称
         *
         * @param companyName
         * @param g2d
         * @param circleRadius
         */
        private static void drwaHeadText(String companyName, Graphics2D g2d, int circleRadius) {
            int companyNameLen = companyName.length();
            int headFontSize;
            if (companyNameLen < 8) { // 字体根据画布大小微调出来的
                headFontSize = 47;
            }
            else {
                headFontSize = 43 - (companyNameLen - 8) * 2;
            }
    
    
            Font f;
            FontRenderContext context;
            Rectangle2D rectangle;
            f = new Font(FONT_FAMILY, Font.PLAIN, headFontSize);
            context = g2d.getFontRenderContext();
            rectangle = f.getStringBounds(companyName, context);
    
    
            double interval; // 文字之间间距
            if (companyNameLen == 1) {
                interval = 0;
            }
            else {
                interval = rectangle.getWidth() / (companyNameLen - 1) * 0.9;
            }
    
    
            double newRadius = circleRadius + rectangle.getY() - 10; // bounds.getY()是负数,这样可以将弧形文字固定在圆内了。-10目的是离圆环稍远一点
            double radianPerInterval = 2 * Math.asin(interval / (2 * newRadius)); // 每个间距对应的角度
    
    
            // 第一个元素的角度
            double firstAngle;
            if (companyNameLen % 2 == 1) {
                firstAngle = (companyNameLen - 1) * radianPerInterval / 2.0 + Math.PI / 2 + 0.18; // 0.18是浮点计算误差,如果文字不对称,可以微调
            }
            else {
                firstAngle = (companyNameLen / 2.0 - 1) * radianPerInterval + radianPerInterval / 2.0 + Math.PI / 2 + 0.18;
            }
    
    
            for (int i = 0; i < companyNameLen; i++) {
                double theta = firstAngle - i * radianPerInterval;
                double thetaX = newRadius * Math.sin(Math.PI / 2 - theta); // 小小的trick,将【0,pi】区间变换到[pi/2,-pi/2]区间
                double thetaY = newRadius * Math.cos(theta - Math.PI / 2); // 同上类似,这样处理就不必再考虑正负的问题了
                AffineTransform transform = AffineTransform.getRotateInstance(Math.PI / 2 - theta);
                Font f2 = f.deriveFont(transform);
                g2d.setFont(f2);
                g2d.drawString(companyName.substring(i, i + 1), (float) (circleRadius + thetaX + 10), (float) (circleRadius - thetaY + 10));
            }
        }
    
    
        /**
         * 画底部文字
         *
         * @param g2d
         * @param circleRadius
         */
        private static void drawFootText(Graphics2D g2d, int circleRadius) {
            Font f;
            FontRenderContext context;
            Rectangle2D rectangle;
            f = new Font(FONT_FAMILY, Font.BOLD, FOOT_FONT_SIZE);
            context = g2d.getFontRenderContext();
            rectangle = f.getStringBounds(FOOT_TXT, context);
            int a = 10 * CANVAS_SIZE / 350; // 底部文字距中心的距离,这是调出来的
            g2d.setFont(f);
            g2d.drawString(FOOT_TXT, (float) (circleRadius + a - rectangle.getCenterX()), (float) (circleRadius * 1.5 + a - rectangle.getCenterY()));
        }
    
    
        /**
         * 画中心的 ★
         *
         * @param g2d
         * @param circleRadius
         */
        private static void drawStar(Graphics2D g2d, int circleRadius) {
            Font f = new Font(FONT_FAMILY, Font.PLAIN, STAR_SIZE);
            FontRenderContext context = g2d.getFontRenderContext();
            Rectangle2D rectangle = f.getStringBounds(STAR, context);
            g2d.setFont(f);
            g2d.drawString(STAR, (float) (circleRadius + 10 - rectangle.getCenterX()), (float) (circleRadius + 10 - rectangle.getCenterY()));
        }
    
    
        /**
         * 画外圈圆
         *
         * @param g2d
         * @param circleRadius
         */
        private static void drawCicle(Graphics2D g2d, int circleRadius) {
            g2d.setPaint(Color.red);
            int lineSize = circleRadius * 2 / (35); // 圆线条粗细是圆直径的1/35
            g2d.setStroke(new BasicStroke(lineSize));
            Shape circle = new Arc2D.Double(10, 10, circleRadius * 2, circleRadius * 2, 0, 360, Arc2D.OPEN);
            g2d.draw(circle);
        }
    }
    
    展开全文
  • 电子签章技术方案

    2018-09-11 09:22:39
    4.1 电子签章管理系统 4 4.2 电子签章软件 5 4.2.1 字处理软件签章 5 4.2.2 网页电子签章软件 9 5 产品特点 10 6 运行环境 12 6.1 电子签章管理系统 12 6.2 电子签章软件 12 7 方案报价 13 8.1. 软件费用 13 8.2. ...
  • WEB版电子签章

    2014-07-16 11:10:43
    简单的网页电子签章例子,里面包含项目源码,所需数据库表,以及说明文档
  • 电子签章api

    2018-12-07 10:12:54
    电子签章api C#开发接口 里面有文档,需要的可以下载查看
  • 如何用 Java 对 PDF 文件进行电子签章

    万次阅读 多人点赞 2018-02-11 00:49:03
    一、 概述二、 技术选型三、 生成一个图片签章四、 如何按模板生成PDF文件五、 如何生成PKCS12证书六、 如何生成一个高清晰的签章七、 如何进行多次PDF签名八、 总结一、 概述印章是我国特有的历史文化产物,古代...
  • 区块链电子签章系统

    千次阅读 2019-12-23 12:40:18
    自2004年《中华人民共和国电子签名法》制定之日起,中国电子签名服务行业已走过了十多年的时间。不过直到近年来,随着互联网金融以及区块链技术的快速发展,这个行业才真正迎来起飞。 利用SUNLIGHTDB区块链数据库...
  • 如果说,建筑是面向未来的建设,勘察设计就是站在未来思考现在。...作为数字化的基础设施,电子签章是解决设计院智慧建筑设计过程中保证文档安全、有效流转及归档的关键环节:如在施工图审查、数字化交付中,保障...
  • 什么是电子签章 电子签章是采用“电子签名”的技术,通过一套标准化、规范化的软硬结合的系统,使持章者可以在电子文件上完成签字盖章,与传统的手写签名、盖章具有完全相同功能。主要解决电子文件的签字盖章问题,...
  • 近日,中国500强企业双胞胎集团携手契约锁,借私有化电子签章系统实现集团印章“小改变”,风控“大升级”…… 双胞胎(集团)股份有限公司,是一家全国性大型农牧集团,也是中国企业500强、民营企业100强、中国...
  • C# 电子签章的实现

    千次阅读 2018-10-26 09:58:33
    电子签章(Electronic Signature)、数字签章(Digital Signature)、加密签名、公钥私钥、非对称加密、哈希加密、C#、MD5 摘要:  电子签章(Electronic Signature)泛指所有以电子形式存在,依附在电子文件并与其逻辑...
  • 电子签章系统源代码

    热门讨论 2013-03-28 18:12:36
    电子签章系统的源代码,实现功能签章,WORD、EXCEL都可以
  • 来咯 新年第一个开源项目 ,程序员的 红包 就是这么简单而纯粹。 Github地址 https://github.com/goodluckforme/EcSignature
  • 电子签章系统解决方案

    千次阅读 2006-10-16 17:51:00
    电子签章系统可以应用在文档管理、OA、电子政务等各种具有典型文档安全性需求的系统中,下面以电子政务公文流转系统为例,介绍科翰电子签章系统的典型解决方案。在电子政务文档的流转过程中,发文者想要自己发出去的...
  • 管理升级:引入电子签章,打造新型无纸化房地产企业: 作为中国最大的新型城镇化住宅开发商,目前,碧桂园的地产业务,服务机构、项目遍布全球。 庞大的业务体系下伴随着超大体量的签字、用章需求,受限于传统纸质...
  • java操作pdf制作电子签章

    万次阅读 热门讨论 2017-10-07 21:40:32
    java操作pdf制作电子签章电子签章简介电子签章,与我们所使用的数字证书一样,是用来做为身份验证的一种手段,泛指所有以电子形式存在,依附在电子文件并与其逻辑关联,可用以辨识电子文件签署者身份,保证文件的...
  • java电子签章

    万次阅读 2016-08-17 17:34:06
    地点
  • 电子签章(Electronic Signature)、数字签章(Digital Signature)、加密签名、公钥私钥、非对称加密、哈希加密、C#、MD5 摘要:  电子签章(Electronic Signature)泛指所有以电子形式存在,依附在电子文件并与其...

空空如也

1 2 3 4 5 ... 20
收藏数 48,704
精华内容 19,481
关键字:

电子签章