内务 打印装订单 窗口 - DigitalPlatform/dp2 GitHub Wiki

本文介绍内务的打印装订单窗口的使用和配置技巧。

如何利用模板设施在装订单上直接打印出册条码图像

内务前端安装以后,如果没有进行过特定配置,打印装订单窗口是使用内置的固定格式来打印装订单的。

为了让装订单上打印出册条码图像,需要给装订单配置一个定制的模板。操作步骤如下:

  • 切换到“打印”属性页;点“打印配置”按钮;
  • 在对话框上切换到“模板”属性页;
  • 在上方列表空白区域点右鼠标键出现上下文菜单,用“新增模板”命令添加一个模板,名为“合订册正文”;
  • 用鼠标左键点一下上方列表区域刚插入的行,确保它处于选中状态。然后在下方的“文件内容”区域输入以下内容:
<div class='binding_table_title'>合订册</div>
<table class='binding'>
<tr class='biblio'>
	<td class='name'>期刊</td>
	<td class='value'>%bindingsummary%</td>
</tr>
<tr class='issn'>
	<td class='name'>ISSN</td>
	<td class='value'>%bindingissn%</td>
</tr>
<tr class='accessno'>
	<td class='name'>索取号</td>
	<td class='value'>%bindingaccessno%</td>
</tr>
<tr class='location'>
	<td class='name'>馆藏地点</td>
	<td class='value'>%bindinglocation%</td>
</tr>
<tr class='barcode'>
	<td class='name'>册条码号</td>
	<td class='value barcode_label'>%bindingbarcode%</td>
</tr>
<tr class='refid'>
	<td class='name'>参考ID</td>
	<td class='value'>%bindingrefid%</td>
</tr>
<tr class='intact'>
	<td class='name'>完好率</td>
	<td class='value'>%bindingintact%</td>
</tr>
<tr class='bindingprice'>
	<td class='name'>合订价格</td>
	<td class='value'>%bindingprice%</td>
</tr>
<tr class='publishtime'>
	<td class='name'>出版时间</td>
	<td class='value'>%bindingpublishtime%</td>
</tr>
<tr class='bindingissuecount'>
	<td class='name'>期数</td>
	<td class='value'>实含数: %arrivecount%; 缺期数: %missingcount%; 理论数: %issuecount%; 缺期号: %missingvolume%</td>
</tr>
<tr class='volume'>
	<td class='name'>包含期号</td>
	<td class='value'>%bindingvolume%</td>
</tr>
</table>

请特别注意上面为“册条码号”列的文字内容配置了 class 为 barcode_label,这是使用了特定的 39 码条码字体,所以打印出来的是条码图像。具体细节还可以参考内务前端用户文件夹里面的 printbinding.css 文件,熟悉 CSS 的用户可以借此了解系统运作的内部原理。


以上是为装订单的合订册区域配置了打印条码图像。如果要为成员册区域配置打印条码图像功能,可以为打印配置添加一个名为“css”的模板:

BODY
{
	font-family:"Microsoft YaHei", Times, serif;
}

DIV.pageheader
{
	text-align: right;
	border-bottom-width: 1pt;
	border-bottom-color: #000000;
	border-bottom-style: solid;
	margin-bottom: 16pt;
}

DIV.binding_table_title
{
	text-align: center;
	font-size: 14pt;
	font-weight: bold;
}

TABLE.binding
{
	width: 100%;
	font-size: 12pt;
	border-style: dashed;
	border-width: 2pt;
	border-color: #000000;
	border-collapse:collapse;
	background-color: white;
}

TABLE.binding TD
{
	padding: 4pt;

	border-left-width: 0pt;
	border-top-width: 0pt;
	border-right-width: 0.5pt;
	border-bottom-width: 0pt;

	border-style: solid;
	border-color: #000000;
}

TABLE.binding TD.name
{
	font-weight: bold;
	text-align: right;
	white-space: nowrap;
}

DIV.members_table_title
{
	text-align: center;
	margin-top: 20pt;

	font-size: 14pt;
	font-weight: bold;

	border-bottom-width: 0pt;
	border-bottom-color: #000000;
	border-bottom-style: dashed;
}

TABLE.members
{
	width: 100%;

	font-size: 10pt;

	border-style: solid;
	border-width: 2pt;
	border-color: #000000;

	border-left-width: 0pt;
	border-right-width: 0pt;

	border-collapse:collapse;

	background-color: white;
}

TABLE.members TD
{
	padding: 4pt;

	border-left-width: 0pt;
	border-top-width: 0pt;
	border-right-width: 0pt;
	border-bottom-width: 0.1pt;

	border-style: dotted;
	border-color: #000000;
}

TABLE.members TR.column TD
{
	font-weight: bold;
	white-space: nowrap;
}

TABLE.members TR.missing TD
{
	color: red;
	text-decoration:line-through;
}

TABLE.members TR.content TD.missing
{
	color: red;
	text-align: right;
	width: 5%;
	text-decoration:none;
	font-weight: bold;
}

TABLE.members TR.content TD.volume
{
	white-space: nowrap;
}

TABLE.members TR.content TD.refID
{
	font-size: 8pt;
}

TABLE.members TR.content TD.barcode
{
    font-family: "C39HrP24DhTt", "Microsoft YaHei", Times, serif;
    font-size: 3.0em;
    padding-left: 50px;
}

DIV.pagefooter
{
	text-align: right;

	border-top-width: 1pt;
	border-top-color: #000000;
	border-top-style: solid;
	margin-top: 16pt;
}

其中,关键部分为:

TABLE.members TR.content TD.barcode
{
    font-family: "C39HrP24DhTt", "Microsoft YaHei", Times, serif;
    font-size: 3.0em;
    padding-left: 50px;
}

它定义了下方 class 为 'members' 的表格中条码号列的字体为条码字体。

上面的 css 模板内容也可以用来控制其他部分的样式。

⚠️ **GitHub.com Fallback** ⚠️