整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

电子合同签署平台的文件如何打印?

着科技的发展,电子合同签署平台已经成为了企业日常办公的重要组成部分。它不仅方便、快捷,还能有效降低企业的运营成本。对于那些初次使用电子合同签署平台的用户来说,如何将电子合同签署平台签订好的文件进行打印呢?本文将为您详细解答这个问题。

一、登录电子合同签署平台

首先,您需要登录您的电子合同签署平台账户。如果您还没有注册过账户,请先完成注册流程。登录后,您将进入到主界面,在这里您可以查看和管理您的合同订单。

二、选择要打印的文件

在主界面中,找到您想要打印的文件,点击文件名进入详情页面。在这里,您可以看到文件的相关信息,如合同编号、对方公司名称等。确认无误后,点击“下载”按钮将文件保存到本地。

三、下载并安装打印机驱动

如果下载下来后是html或word文件,在打印之前,您需要先将文件转换为PDF格式。这样才能保证打印出来的文件格式清晰、内容完整。您可以使用在线转换工具将文件转换为PDF文件,或者下载专门的PDF转换软件。转换完成后,请确保您的电脑已经安装了正确的打印机驱动程序。

四、打开PDF文件并打印

将转换后的PDF文件保存到本地后,双击文件或右键点击选择“打开方式”,用您喜欢的PDF阅读器打开文件。在阅读器中,点击“打印”按钮,系统会自动调用默认的打印机。如果您需要打印多份文件,可以在“打印范围”设置中选择“所有页面”。最后,点击“确定”按钮开始打印。

五、检查打印结果

打印机开始工作后,请耐心等待一段时间。当打印完成后,您可以检查一下打印出的文件是否符合预期。如果发现有问题,请及时与电子合同签署平台客服联系,寻求帮助。

总结:通过以上五个步骤,您就可以轻松地在电子合同签署平台上打印文件了。请注意,在打印过程中可能会遇到一些问题,如打印机驱动安装失败、PDF文件转换失败等。您可尝试重新操作或者寻求专业人士的帮助。

在线模式是指直接在html网页上设计打印模板,在线模式的特点是可以直接拖动表单字段到单元格内,无需手动设置字段标识。

创建在线模式打印模板

  • 第一步:在表单设置-打印模板处,创建打印模板,选择在线模式。
  • 第二步:点击第一步创建打印模板的编辑按钮,进入打印模板设计页面,在此页面完成设计并保存。
  • 第三步:在表单数据权限处,设置好此打印模板的权限。
  • 第四步:权限内的用户打印或批量打印时,就可以选择此模板进行打印了。

在线模式设计页面

步骤:【表单设计页面】-【表单设置】-【打印模板】-【在线模式模板-编辑】,进入打印模板设计页面。

修改模板名称

  • 在线模式的打印模板设计页面,左上角可自定义模板名称。

表单字段&系统字段

表单字段&系统字段

左侧字段列表分为表单字段系统字段标签页。

  • 表单字段:包括表单自身的字段/字段二维码/字段条形码,选中字段可拖动放至右侧设计面板的指定单元格内。
  • 系统字段:普通表单和流程表单的系统字段不一样。
  • 普通表单的系统字段包括提交人、提交时间、更新时间、数据外链二维码、数据内链二维码、表单外链二维码、打印人、打印时间。
  • 流程表单的系统字段包括提交人、提交时间、更新时间、审批意见、流程状态、流程决策、当前节点、当前负责人、数据内链二维码、表单外链二维码、打印人、打印时间。
  • 注意: 表单外链二维码需要开启表单外链后才能正常使用。
  • 流程表单的审批意见字段内容和打印顺序支持自定义。将审批意见字段拖动到右侧设计面板的单元格内,鼠标选中审批意见字段,右键展示功能菜单,包括设置内容、审批意见打印顺序。

字段设置

字段设计

方法一:直接从右侧表单列表中拖动字段到指定单元格内。

  • 列表中的字段表示字段值。见下图,把「流水号」字段放至设计界面后,显示为「${流水号}」。也就是说B1这个单元格代表的是,某条数据中流水号的值。

方法二:双击单元格或者选中单元格按任意键弹出单元格内容编辑面板,可在此面板进行字段设计。

  • 此面板中右侧字段和外层模板设计页展示的字段一致
  • 支持添加多个字段
  • 支持普通文本和字段结合设计
  • 支持空格、换行等设计
  • 当包含子表单字段时,仅支持添加同一个子表单内的字段

  • 为了表示数据代表的意思,通常可以在字段值前面或者上面加上标题 。

  • 同一个子表单的字段建议横向排列。

审批意见字段

  • 可选择有审批意见的全部节点或自定义节点。 打印内容为“节点名称”+“审批人”+“审批时间”+“文本意见”+“手写签名”。

  • 审批意见字段的打印效果:

设计器

功能介绍

目前系统支持了多种功能,通过设计器的这些功能,基本能满足一般打印模板的需求。

注意:设计器的功能只针对整个单元格,而不能对单元格内的某些字段进行设计。

边框线

支持自定义多种边框线、边框线颜色以及边框粗细。

如果要取消边框线,在选中单元格后点击边框线设置选项中的「无」。

插入图片

插入单元格图标

  • 可在单元格中插入图片,打印出来。常见用法如插入公司logo等。

  • 插入图片之后,可以通过改变单元格大小来调整图片大小,也可以设置图片对齐方式。

插入浮动图片

  • 可以在单元格中插入水印、公章等图标悬浮在文件上随着表单一起打印下来,主要是为了打印出来的文件具有防伪及其他专门用途。

注意:

  • 1.单个打印模板中的每个分页中最多上传5张悬浮图片,每张最多5MB。
  • 2.插入的悬浮图片支持jpgjpegpng格式。
  • 3.被插入的悬浮图片支持自定义调整位置、大小。

设置背景图

可上传背景图,注意将纸张长宽和图片调整成长宽一致,这样可以较好地填充纸张。

背景图可以实现套打功能,如快递单、申请单等特定场景的打印。

  • 背景图默认不会自动开启,如需要打印背景图,需手动设置“打印背景”。

自定义水印

  • 支持水印功能,可以设置无水印、图片水印或文字水印。

图片水印:图片最大100k,水印图片最大显示为128px*128px。

文字水印

  • 支持添加表单字段
  • 支持多个字段同时添加
  • 支持自定义文本和表单字段一起添加
  • 支持自定义字体、字体颜色、字体大小
  • 支持透明度设置,设置范围[1%,60%]

注意

  1. 水印区域已经限制大小,无法更改,超过区域的文字会被截断。
  2. 文字水印不支持换行打印。

纸张设置

可对纸张大小、方向、页边距进行设置。

设置时请注意参考线所标注的打印边界,设计时不要超出,以免影响打印效果。

  • 系统预设常见的纸张大小,也可自定义纸张大小。

  • 自定义纸张大小:一般用于特定纸张的打印。

小票打印: 纸张大小选择自定义,高度模式选择自动,根据小票宽度设置纸张宽度及页边距等信息,不限制纸张高度,即可实现小票打印。

单元格高度设置

  • 单元格高度推荐选择「动态高度」,打印时如果数据超出单元格高度,会自动拉伸以保证打印全部内容。如果是固定高度,则超出单元部分的内容,在打印时将被省略。

页眉页脚

  • 单击页眉页脚图标,进入页眉页脚设计面板。

页眉页脚字段设置

选中单元格,按任意键或者双击弹出单元格内容编辑面板。

  • 支持添加多个字段
  • 支持普通文本和字段结合设计
  • 支持空格、换行等设计
  • 支持基本的表单字段和系统字段
  • 不支持子表单字段
  • 不支持图片类型的字段,如图片、二维码、手写签名等。
  • 打印属性支持页码、总页码

页眉页脚功能介绍

  • 页眉页脚设计页面如下所示:

  • 页眉页脚设置:选中页眉页脚的单元格,再点击页眉页脚设置,可以设置页眉顶端距离/页脚底端距离,页眉分列/页脚分列。

  • 插入图片:选中页眉页脚单元格,点击插入图片,可以插入图片到对应的单元格内;图片支持放大缩小。

重复打印设置

通过设置重复打印,可以在打印的过程中,将部分内容固定在每一页里打印出来,如:商品销售,商品过多时,将表格头部在每一页中都显示一份。

注意

  1. 在开启重复打印之前一定要先选中需要重复打印的「行」,一次只能设置其中一行,如果有多行内容需要重复打印,需要单独一行一行去设置。
  2. 带有子表单字段的行无法设置重复打印。

批量打印分页设置

  • 批量打印分页设置用于批量打印场景,当页面空间允许时,一页内打印多条数据;
  • 存在多个打印分页时不支持使用。
  • 纸张设置高度为自动的时候不能设置批量打印。

  • 打印效果,在同一页纸上打印了多条数据:

边界线

  • 边界线标注了打印范围,位于边界线之内的内容可以被打印出来。

注意:边界线和实际打印边界,并不是完全重合的,会存在不一致的情况。边界线标注的范围 始终 <= 实际打印范围。

  • 边界线根据纸张大小确定,当边界线在某行/某列单元格中间时,建议调整单元格宽/高,将单元格完全设计在边界线内,以免单元格内容未打印完整。
  • 位于边界线下方的内容,或者其它在一页打印不完的内容,在打印时会自动新增一页打印;

分页设置

  • 在打印模板设计的左下角有一个“+”号,点击以后可以进行分页设置,新分页中的内容在打印时会强制换页。
  • 添加新分页后,当前页面的内容打印完以后会接着依次打印新分页里面的内容。

  • 新分页里支持设置背景图。

  • 分页支持删除、重命名、向左移,像右移。

子表单序号打印

  • 序号的打印可以很直观地看出明细数据的条数,也可以使得打印的数据更加整齐有序。常用于进销存管理中的出入库单打印、报价管理中的合同打印等,这些都需要将明细数据序号也打印出来等。

  • 通过编辑好的自定义打印模板进行打印,可以看到子表单每条子数据所对应的序号。

打印条码或二维码

条形码和二维码仅单行文本和数字控件支持

  • 通过编辑好的自定义打印模板进行打印,可以看到单行文本或数字控件打印的二维码或条形码。

页面缩放

  • 支持对模板设计区域进行缩放,缩放范围[10%,400%],默认为100%;

预览

  • 在设计模板的时候,当模板做了任何改动,点击预览可以预览打印效果。
  • 预览的数据为数据管理列表中第一条数据。

保存

  • 保存模板中的设计。

快捷操作

  • 我们在设计模板时有一些快捷操作,能帮助我们节省时间,如:设置行宽列高时需要手动拖拽,而快捷操作我们可以直接设置具体数值即可。

行/列右键快捷操作

步骤:【点击单元格或行或列】——【单击鼠标右键】——【选择对应的快捷操作】

前帮客户做合同和协议打印的时候,收集过一些打印相关的资料,整理了一下内容,分享给有需要的朋友。

  • 如何发起打印
  • 如何只局部打印
  • 分页
  • 不询问直接打印
  • 无边距打印
  • 自定义页码
  • 横向打印
  • 双面打印
  • 打印多份

发起打印的方法

  1. window.print() 打印整个页面,所有主要浏览器都支持 print() 方法,执行后会启动一个打印对话框,Chrome的打印对话框自带预览功能,IE、火狐只弹出打印设置对话框,没有预览功能。
  2. document.execCommand("print") 该方式也兼容各个版本的浏览器,功能同window.print()一样,不过已经不建议使用了。
  3. 使用html 标签<object>引入Webbrowser控件,这种方式只兼容IE,部分调用方式如下:

<body>
  <object id="WebBrowser" classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height="0" width="0"></object>
</body>
<script>
  WebBrowser.ExecWB(1,1) // 打开 
  WebBrowser.ExecWB(2,1) // 关闭现在所有的IE窗口,并打开一个新窗口 
  WebBrowser.ExecWB(4,1) // 保存网页
  //--------------- 常用 --------------
  WebBrowser.ExecWB(6,1) // 打印
  WebBrowser.ExecWB(6,6) // 直接打印
  WebBrowser.ExecWB(7,1) // 打印预览
  WebBrowser.ExecWB(8,1) // 打印页面设置
  //------------------------------------- 
  WebBrowser.ExecWB(10,1) // 查看页面属性
  WebBrowser.ExecWB(15,1) // 撤销
  WebBrowser.ExecWB(17,1) // 全选
  WebBrowser.ExecWB(22,1) // 刷新
  WebBrowser.ExecWB(45,1) // 关闭窗体无提示
</script>

  1. 直接用JQuery插件
    • jquery.print.js 地址:https://github.com/DoersGuild/jQuery.print
    • jquery.print-preview.js 地址:https://github.com/etimbo/jquery-print-preview-plugin

通过$("#id").print(/options/)和$('#id').printArea(/options/)调用,其中的options可以配置一些选项,具体看对应的说明文档。

  1. 采用第三方浏览器插件

收费的、不收费的都有,这里就不多提了。

复杂的套打可以选第三方插件。jQuery插件是封装的print方法,我前几年给银行网点做了个小系统需要局部打印,选了插件,其实没有很理想,需要自己做一些调整才行。大部分情况用print就能解决。

局部打印

页面上显示的内容与最终需要打印的内容之间总是存在差异的,从两个方向解决这个问题,一个是打印时只显示需要打印的部分,另一个是打印前调整页面的内容,只保留需要打印的部分。可以用到下面几个方法:

css media query 可以写一些只在打印时有效的样式,例如控制页面某个按钮打印时隐藏

@media print{
    .no-print{
        display:none
    }
}

可以用onbeforeprintonafterprint在打印前重新编辑内容,专门送去打印,打印后又处理回来。

function window.onbeforeprint()
{ //将一些不需要打印的隐藏 }

function window.onafterprint()
{ //放开隐藏的元素 }
// polyfill
// 对于基于Webkit的浏览器,您可以创建一个等效的结果window.matchMedia('print')。
// var mediaQueryList = window.matchMedia('print');
// mediaQueryList.addListener('change', function(mql) {
//   if(mql.matches) {
//     console.log('webkit equivalent of onbeforeprint');
//   }
// });

onbeforeprint 在设置页面打印之后但是在打印对话框出现之前执行 JavaScript

onafterprint 定义为在设置页面打印且打印对话框已出现之后,执行一段 JavaScript。只有 Internet Explorer 和 Firefox 支持 onafterprint 事件属性。但是:在 IE 中,onafterprint=属性在打印对话框出现之前而不是之后发生。

onbeforeprint fired before dialog appears and allows one to change html and so on.onafterprint is fired just before dialog appears. It is not even possible to know, whether document was actually printed or user canceled it. Needless to say about when printing finished (if started at all).Again: no event is available to track anything happened in print dialog, i.e. answer to your question is no.Moreover, I hope what your need will never be implemented, cause this allows to frustrate user. He/she asks to print one document, but got something different.

改变页面内容的方式体验比较糟糕,个人不推荐,jq插件默认是用iframe,其实还可以window.open一个单独的打印页面,预览和打印都好解决,两种方式都需要注意样式表是在原来的页面,需要稍微注意下样式是否有缺失。

分页

page-break-before:always;
page-break-after:always;
page-break-inside:avoid;

用样式可以控制主动使用分页符,没用过的可以看下这里

http://www.w3school.com.cn/cssref/pr_print_page-break-after.asp

不询问直接打印

有3种办法,但都有限制

  1. 使用插件实现

网上下载ScriptX.cab文件
下载成功后将文件放在项目某个目录下,然后在页面body中写上:

<object id="factory" name="factory" style="display: none" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="ScriptX.cab" viewastext></object>

codebase属性为ScriptX.cab文件的放置路径(绝对路径)
调用:factory.printing.Print(false)即可

  1. webbrowser实现

需要修改IE浏览器安全设置,否则还是会弹出对话框

    • 安全 -> 本地Intranet -> 自定义级别 - 找到ActiveX控件和插件项,选择对未标记为可安全执行的ActiveX控件初始化并执行脚本,再选择启用
    • 安全 -> 受信任的站点 -> 自定义级别 - 找到ActiveX控件和插件项,选择对未标记为可安全执行的ActiveX控件初始化并执行脚本,再选择启用
    • 安全 -> 受信任的站点 -> 站点 -> 添加受信任访问站点(如果是访问远程那么是对方IP地址,如果是本地则是本机IP.例如http://192.168.172.1)

然后执行

document.getElementById('WebBrowser').ExecWB(6,2,3)
  1. vb实现结合webbrowser实现

可以使用vb,但是IE11开始已经被微软废弃,无法执行vb代码了。

execScript('document.getElementById("WebBrowser").ExecWB 6, 2, 3','vbscript');

无边距打印

无边距打印是打印机的一种功能,即全幅打印,打印纸不留空白。
适用于照片打印,广告打印,海报打印等。
目前的主流打印机都有支持该功能的型号。
当在应用程序中创建用于打印的数据时,需要调整数据到打印纸的尺寸。如果应用程序中有边距设置,应确保在打印前将它们设为零。
注意:
使用此功能进行打印将比普通打印要花更长时间。
使用此功能打印输出的顶部和底部区域的打印质量可能会下降,或者在上面未列出的介质上打印时该区域可能会污损。在打印大量的作业之前先打印一页以检查打印质量。

自定义页码

遇到的一个需求,只打印合同中需要填写数据的几页,不能使用自带的页码,所以把自带的页码去掉,然后写个div定位到原来页码的位置,里面的内容就可以自己控制了。需要注意:
1. 页面打印区域的原因,不是在任意打印机上都可以把页码打印在纸张的边缘,需要根据打印机的可打印区域调整。
2. 页码需要使用到绝对定位,所以要求打印的内容是确定的,目前遇到有这个需求的,打印内容也都是固定的。

横向打印

chrome 支持 @page 规则

@page{size : A4 lanscape;}

双面打印

需要在打印首选项中设置。

注意:有时候需要通过加个空白页来让后面的内容从新的一张纸开始打印。

打印份数

打印设置里可以修改,不过很难用程序控制打印份数。可以曲线实现,在打印的时候,直接把内容重复N遍再打印一份出来的就是N份了。

时代变得真快,现在的IE都已经退出了历史舞台。新框架一个接一个冒出来,老系统里的这些老代码,不知道什么时候会消失。