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 ...
随机推荐
- Vue开篇之Vue-cli搭建项目
介绍 Vue.js是一套构建用户界面的渐进式框架.Vue 只关注视图层,采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 第一步:安装node ...
- 散列表(has table、哈希表)
一. 散列表是什么 是包含映射关系的一种数据结构,可以提高查找效率. 二. 散列函数 1)必须是一致的.假设输入一个单词“banana”,映射的数字是1,那么以后每次输入banana都要映射到数字1, ...
- WLST
Master Note on WebLogic Server Scripting Tool (WLST) Usage, Sample Scripts and Known Issues Deployin ...
- Android中将一个图片切割成多个图片
有种场景,我们想将一个图片切割成多个图片.比如我们在开发一个拼图的游戏,就首先要对图片进行切割. 以下是封装好的两个类,可以实现图片的切割.仅供参考和学习. 一个是ImagePiece类,此类保存了一 ...
- 理解java的三种代理模式
代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). 1 public class ...
- Vue一个案例引发「内容分发slot」的最全总结
今天我们继续来说说 Vue,目前一直在自学 Vue 然后也开始做一个项目实战,我一直认为在实战中去发现问题然后解决问题的学习方式是最好的,所以我在学习一些 Vue 的理论之后,就开始自己利用业余时间做 ...
- Linux如何查找某个时间点后生成的空文件
今天遇到一个特殊需求,需要找到某天(例如2017-04-13)以及这之后生成的空文件.那么这个要怎么处理呢?这个当然是用find命令来解决.如下所示, -mtime -5 表示查找距现在 5*24H ...
- jQuery根据radio来控制texteara
最近遇到一个问题:需要通过点击radio来控制texteara的属性变化. 这里主要有两个知识点:1,给texteara设置属性:2,给texteara设置背景颜色. 在这里,假设texteara的i ...
- python之单元测试_生成测试报告
(1)HTMLTestRunner.py的下载路径:https://pan.baidu.com/s/1Yk2E8d8bIo5_rmpussOE9Q 提取码:0jae (2)HTMLTestRunner ...
- 【Linux基础】查看硬件信息-内存和硬盘
1.使用free命令查看内存使用 (1)内存总量大小:查看Mem中的total值3697M free -m total used free shared buffers cached -/+ buf ...