odoo源生打印【web report】
https://www.odoo.com/documentation/12.0/reference/reports.html 具体的看官方文档
一、纸张格式设置:
<record id="paperformat_frenchcheck" model="report.paperformat">
<field name="name">French Bank Check</field>
<field name="default" eval="True"/>
<field name="format">custom</field>
<field name="page_height">80</field>
<field name="page_width">175</field>
<field name="orientation">Portrait</field>
<field name="margin_top">3</field>
<field name="margin_bottom">3</field>
<field name="margin_left">3</field>
<field name="margin_right">3</field>
<field name="header_line" eval="False"/>
<field name="header_spacing">3</field>
<field name="dpi">80</field>
</record>
二、菜单按钮:
<report
attachment_use="False"
model="product.product" #要打印模块
report_type="qweb-pdf"
id="print_product_menu_barcode"
string="打印条码"
name="product.print_template_barcode"
file="product.print_template_barcode" #打印文件
paperformat="product.paperformat_frenchcheck" #打印纸张格式
/>
三、Barcodes
<img t-att-src="'/report/barcode/QR/%s' % 'My text in qr code'"/>
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s'%('QR', 'text', 200, 200)"/> 二维码
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="print_template_barcode">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<div class="page" style="margin-top:0px">
<style type="text/css">
.gxtr >th{
text-align:center;
border-top: 1px solid #000;
border-left: 1px solid #000;
border-bottom: 1px solid #000;
<!--background-color:#BEBEBE;-->
font-size:14px;
}
.gxtr >td{
border-bottom: 1px solid #000;
border-left: 1px solid #000;
border-right: 1px solid #000;
font-size:20px;
display: flex;
<!--text-align :center;-->
}
.gxtr >tr{
border-bottom: 1px solid #000;
border-left: 1px solid #000;
border-right: 1px solid #000;
font-size:20px;
display: flex;
text-align :center;
}
.herdtd{
word-wrap:break-word;width:22%;font-size:14px;
}
.gxdiv{border-left:1px solid #000;border-bottom:1px solid #000;border-right:1px solid
#000;font-size:14px;}
</style>
<t t-call="web.basic_layout">
<table width="279" border="1">
<thead>
<tr>
<td>名称</td>
<td>
<span t-field="o.name"/>
</td>
<td rowspan="3">
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s'%('QR', o.barcode, 100, 100)"/>
</td>
</tr>
<tr>
<td>价格</td>
<td>
<span t-field="o.list_price"/>
</td>
</tr>
<tr>
<td>代码</td>
<td >
<span t-field="o.barcode"/>
</td>
</tr>
<tr class="gxtr">
<th>测试1</th>
<th colspan="2">测试值</th>
</tr>
</thead>
<tbody>
<tr t-foreach="o.attribute_line_ids" t-as="att" class="gxtr">
<td height="32" style="text-align :center;">
<span t-field="att.attribute_id.name"/>
</td>
<td colspan="2" style="text-align :center;">
<t t-foreach="att.value_ids" t-as="val">
<span t-field="val.name"/>;
</t>
</td>
</tr>
</tbody>
</table>
</t>
</div>
</t>
</t>
</template>
</data>
</odoo>
odoo源生打印【web report】的更多相关文章
- js打印WEB页面内容代码大全
第一种方法:指定不打印区域 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 详细如下: <style media=print type="tex ...
- 打印web页面指定区域的三种方法
本文和大家分享一下web页面实现指定区域打印功能的三种方法,一起来看下吧. 第一种方法:使用CSS 定义一 个.noprint的class,将不打印的内容放入这个class内. 代码如下: <s ...
- js灵活打印web页面区域内容的通用方法
我们做网站,经常需要打印页面指定区域的内容,而网上关于这块的说法很多,各种各样的打印控件也不少.但许多打印方案都不怎么好,至少我不喜欢,要么封装复杂,要么难以维护.正好现在的项目也需要用到 ...
- 多页面打印--web print
背景:项目中要求做在一个页面中通过选择网址来打印多个页面的内容的功能 原理:通过iframe把各网址的页面内容加载进来,通过iframe.contentWindow拿到iframe的window对象, ...
- odoo 订单打印 会出现字体. ........... 虚线问题
在表头加 红色部分 <?xml version="1.0" encoding="utf-8"?><openerp> <data&g ...
- 水晶报表自定义纸张大小打印 (Crystal Report Print with custom paper size)
System.Drawing.Printing.PrintDocument doc = new PrintDocument(); doc.PrinterSettings.PrinterName = & ...
- Web系统页面打印技术实现与分析
1 Web页面打印概述应用WEB化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于WEB的应用,客户端的规则很简单,容易学习,容易维护,容易发布.在WEB系统中,打印的确是个烦人的问题 ...
- WEB打印大全
1.控制"纵打". 横打”和“页面的边距. (1)<script defer> function SetPrintSettings() { // -- advance ...
- 关于WEB页面的强制分页打印问题
最近项目中有个需求要求打印web页面数据,但是碰到打印预览显示数据时,多的数据就不翼而飞了(不分页),搞的很是焦灼~ 最先是以为纸张的问题,胡乱折腾了一番,把A4约硬是改成了LARGE号的纸,多的数据 ...
随机推荐
- SpringCloud Alibaba实战(6:nacos-server服务搭建)
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 大家好,我是三分恶. 这一节我们来学习SpringCloud Alibaba体系中一 ...
- 彻底解决Spring mvc中时间类型的转换和序列化问题
在使用Spring mvc 进行开发时我们经常遇到前端传来的某种格式的时间字符串无法用java8时间包下的具体类型参数来直接接收.同时还有一系列的序列化 .反序列化问题,在返回前端带时间类型的同样会出 ...
- CosId 1.0.3 发布,通用、灵活、高性能的分布式 ID 生成器
CosId 通用.灵活.高性能的分布式 ID 生成器 介绍 CosId 旨在提供通用.灵活.高性能的分布式系统 ID 生成器. 目前提供了俩大类 ID 生成器:SnowflakeId (单机 TPS ...
- ceph-csi源码分析(7)-rbd driver-IdentityServer分析
更多 ceph-csi 其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi源码分析(7)-rbd driver-IdentityServer分析 当 ...
- 1、SpringBoot整合之SpringBoot整合JSP
SpringBoot整合JSP 一.创建SpringBoot项目,仅选择Web模块即可 二.在POM文件中添加依赖 <!-- 添加servlet依赖模块 --> <dependenc ...
- Kubernetes通过downwardAPI传递元数据
应用往往需要获取所运行环境的一些信息,包括应用自身以及集群中其他组件的信息.Kubernetes可以通过环境变量以及DNS进行服务发现,但其他信息如何处理呢?下面将介绍特定pod和容器元数据如何被传递 ...
- OpenGL ES 压缩纹理
什么是压缩纹理 在实际应用特别是游戏中纹理占用了相当大的包体积,而且GPU无法直接解码目前流行的图片格式,图片必须转换为RGB等类型的格式才能上传到GPU内存,这显然增加了GPU内存的占用.为了处理这 ...
- 探究国内CRM系统哪家公司做的最好?
国内CRM系统哪家公司做的最好?相信这是很多人关心的话题.但这是一个伪命题,因为无论什么产品,都没有一个确定的结论来证明哪个产品最好.我们只能根据它的功能.适用性.价格等来判断哪个最合适.所以小编只能 ...
- docker配置redis6.0.5集群
docker配置redis6.0集群方案 docker安装 请直接挂载课程配套的Centos7.x镜像, docker官方建议使用CentOS7 (1)yum 包更新到最新 sudo yum upda ...
- SpringMVC(6)数据验证
在系列SpringMVC(4)数据绑定-1.SpringMVC(5)数据绑定-2中我们展示了如何绑定数据,绑定完数据之后如何确保我们得到的数据的正确性?这就是我们本篇要说的内容 -> 数据验证. ...
