LODOP直线px转换mm变斜线
LODOP中打印项顶边距左边距,宽高,可以选择的单位很多,详细可在LODOP官网下载参考LODOP技术手册。
关于LODOP打印直线和虚线,可查看本博客相关博文:Lodop如何打印直线、Lodop打印控件 如何打印虚线
在上诉打印直线的博文里,是这样介绍的:
线宽=高 -----水平直线
线宽=宽-----垂直直线
测试用的是打印设计的默认单位px,LODOP中的px并不是超文本中的相对单位px,而是绝对单位,1px等于1/96英寸,与正常DPI显示设置的像素值相等。如果采用该单位,那么正常显示的屏幕内容与实际打印输出的内容大小相当,这个长度单位可以实现感觉上的“所见等于所打”,px是缺省长度单位,如此以来,单位换算关系为:1in = 2.54cm = 25.4mm = 72pt = 96px。
而LODOP的打印设计生成代码的时候,可以选择单位转换,但是如上的换算关系,换算之后存在差值,换算的是保留两位小数,因此会出现,同一条直线,在打印设计里用px设计后打印出来是直线,但是用打印设计的生成代码的单位转换后,直线就不是直线,而是斜线了。
有客户反馈,横线把高设置成0,竖线把宽设置成0,用转换后的mm单位就可以了,个人实际测试了一下,确实是可以的,预览和打印都变成直线了,只是在打印设计,线条是看不出来的,只有左侧打印项列表能看到打印项的存在,点击左侧打印项列表可以选中打印项,查看到线条的位置。
测试代码
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn1_preview()">打印预览</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(1,1000,1000,"");
LODOP.ADD_PRINT_LINE(49,110,53,287,0,4);
LODOP.ADD_PRINT_LINE(18,65,144,69,0,4);
LODOP.NEWPAGE();
LODOP.ADD_PRINT_LINE("12.96mm","29.1mm","14.02mm","75.94mm",0,4);
LODOP.ADD_PRINT_LINE("4.76mm","17.2mm","38.1mm","18.26mm",0,4);
LODOP.NEWPAGE();
LODOP.ADD_PRINT_LINE("12.96mm","29.1mm","13.02mm","75.91mm",0,4);
LODOP.ADD_PRINT_LINE("4.76mm","17.2mm","38.07mm","17.25mm",0,4);
LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
};
</script>
</body>
图示:
如图,打印设计的单位转换,单位转换保留两位小数,用转换成mm语句输出该线条,显示为斜线。
水平横线高度设置0,竖线宽设置0,打印设计看不到,但是实际输出是直线。
Lodop打印设计生成代码的自动转换,保留2位小数。
单位换算1in = 2.54cm = 25.4mm = 72pt = 96px。
打印设计的默认px单位:
LODOP.ADD_PRINT_LINE(49,110,53,287,0,4);
LODOP.ADD_PRINT_LINE(18,65,144,69,0,4);
经过打印设计生成代码自动转换mm后:
LODOP.ADD_PRINT_LINE("12.96mm","29.1mm","14.02mm","75.94mm",0,4);
LODOP.ADD_PRINT_LINE("4.76mm","17.2mm","38.1mm","18.26mm",0,4);
个人实际测试一下计算方法,人工算一般先把换算约2位,再进行处理,但是计算机或计算器一般不是。
96px=25.4mm,1px=25.4/96(mm)=0.26458333333333....约等于0.26(mm) 本人用电脑自带的计算器算的
如图,第一条线的四个参数:
不1px约后:49px=49*(25.4/96)mm=12.964583333333....约等于12.96mm
1px换算约后:49px=49*0.26(mm)=12.74(mm)
如上,生成的转换后的是12.96mm,所以换算关系没有约,而是实际的25.4/96这个换算数值。
LODOP直线px转换mm变斜线的更多相关文章
- Android的计量单位px,in,mm,pt,dp,dip,sp
android中dip.dp.px.sp和屏幕密度 1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持 ...
- 【Android学习】尺寸单位 px in mm pt dp sp
一.Android中支持的尺寸单位 下面用表格的方式将Android中支持的尺寸单位列举,供大家参考: Android的尺寸单位 单位表示 单位名称 单位说明 px 像素 屏幕上的真实像素 ...
- Android计量单位px,in,mm,pt,dp,dip,sp和获取屏幕尺寸与密度
###########################################Android计量单位########################################### px ...
- 在线px转换rem工具
今天推荐一个在线工具,在线px转换rem工具 只要输入1rem = 多少px即可在线转换 和cssrem插件差不多的功能 rem在线转换工具: http://www.ofmonkey.com/fr ...
- 淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem
在过去的一段时间里面一直在使用Vue配合 lib-flexible和px2rem-loader配合做移动端的网页适配.秉着求知的思想,今天决定对他的原理进行分析.目前网上比较主流使用的就是淘宝方 ...
- dp与px转换
名词 解释 Px (Pixel像素) 不同设备显示效果相同.这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px.也正是因为如此才造成了UI在小分辨率 ...
- dp和px转换
在编写自定义view的时候,通常会在onTouchEvent回调方法中进行一些关乎距离的判断逻辑,这里的距离常量如果适配到多分辨率的不同设备上时可能会出现一些错乱的问题. 所以一般来说,常常需要dp到 ...
- LODOP.FORMAT格式转换【回调和直接返回值】
Lodop中有一些格式转换函数,这些函数和其他众多函数一样,c-lodop需要使用回调函数On_Return返回,Lodop插件方式直接返回,通常混合部署,写法要兼容两个控件.可以用if (LODOP ...
- android屏幕密度规律及dp px转换
px和dp(sp) 之间转化公式: 1 乘以(dp转px)或者除以(px转dp) scal缩放因子,在上浮0.5f /** * 密度转换像素 * */ public static int dip2p ...
随机推荐
- 阿里巴巴TXD前端小报 - 2019年3月刊
原文:前端小报 - 201903月刊 Fundebug经授权转载,版权归原作者所有. [Alibaba-TXD 前端小报]- 热门前端技术快报,聚焦业界新视界:不知不觉 2019 年已经过去了 1/4 ...
- ARM与FPGA通过spi通信设计2.spi master的实现
这里主要放两个代码第一个是正常的不使用状态机的SPI主机代码:第二个是状态机SPI代码 1.不使用状态机:特权同学<深入浅出玩转FPGA>中DIY数码相框部分代码: /////////// ...
- TS学习随笔(五)->函数
这篇文章我们来看一下TS里面的函数 函数声明 在 JavaScript 中,有两种常见的定义函数的方式——函数声明(Function Declaration)和函数表达式(Function Expre ...
- 从.Net到Java学习第十二篇——SpringBoot+JPA提供跨域接口
从.Net到Java学习系列目录 最近又撸了半个月的前端代码,做app离线存储,然后又花了一周去将过去的wcf项目转webapi,java又被落下了,总感觉我特么像斗地主中的癞子牌,变来变去..... ...
- word中字体大小(pt)和网页中css设置font-size时用的px大小对应关系
pt与px转换关系为 1px= 0.75pt. 所以word中五号字体(10.5pt)在网页中对应的大小为font-size:14px.(10.5 / 0.75 = 14) 初号44pt 小初36pt ...
- UE3客户端加入DS过程
拉起DS进程 客户端将比赛地图及相关参数发送给ZoneSvr请求开赛,收到消息后,ZoneSvr会分配一个ip和端口号,并与客户端发过来的地图及其他参数,来构建一个命令行来拉起一个DS进程, DS启动 ...
- 20180903 - Python Pip 工具下载whl包与离线安装
20180903 - Python Pip 工具下载whl包与离线安装 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba 个人网站 http://pigg ...
- Java 8 新特性7-方法引用、继承
(原) 方法引用: 方法引用有4种: 1.静态方法引用:类名::静态方法名 在java中,对集合的排序,我们常用java提供的 Collections.sort(List<T> list, ...
- WEB框架-Django组件学习-分页器学习
1.分页器基础学习 1.1 补充知识-批量创建 数据库中数据批量创建,不要每创建一个就往数据库中塞一个,会造成撞库,造成大量I/O操作,速速较慢,应该采用一次性创建大量数据,一次性将大量数据塞入到数据 ...
- spring boot拦截器中获取request post请求中的参数(转)
文章转自 https://www.jianshu.com/p/69c6fba08c92