明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 风言无际

为什么CAD打印预览是正确的,打印出来的文字却会少一部分

[复制链接]
发表于 2019-7-6 12:54:35 | 显示全部楼层
风言无际 发表于 2019-7-6 07:28
我也把所有字体都改成了宋体,但是还是老样子。只要这个打印区域选择的是范围,打出来就是缺一部分文字的 ...

关键在于可打印区域,与纸张大小并无直接关系。如果你当前纸型设置的可打印区域是100,哪怕你的纸张实际大小是10000也是白搭,打印机只能打100。如果打印机纸型设置错误,实际1060宽的纸设置的纸是A0 841,再扣除不可打印边界(假设20),那么实际可打印的大小就是841-20=821,剩下的1060-821=239空着也不能用。换多少机器也都一样。
关键在于可打印区域,看下数值确认下不行么?
发表于 2019-7-6 13:04:01 | 显示全部楼层
e2002 发表于 2019-7-5 21:24
Dwg To PDF.pc3 是可以设置纸边距四边均为0的,这时候可以完全按指定比例出图(就是生成pdf)。

纸张 ...

前面说的不可打印边界是针对物理打印机而言,前面也说了对于软件PDF打印是否可以为0不确定。从你的测试结果来看,至少有些PDF软件是可以为0的。
针对打印机设置,我的做法是设置真实宽度的纸型,但长度是一个相当长的值,例如880X5000,然后勾选打印机设置的自动裁剪,这样宽度上是可以按比例打印841的,长度上由于自动裁剪功能,打印完了就自动结束裁剪,相当方便,用户也不用选A0还是A1,选卷轴1就可以了。
吹毛求疵一下,能否试下一个841X594的框,线宽为100,这样理论上这个框的最外应该是841+50+50=941,PDF打印机的结果会怎样,841外侧的宽度被裁剪,最终打印的是一个最外侧841,向内宽50的框?
发表于 2019-7-6 13:11:48 | 显示全部楼层
e2002 发表于 2019-7-6 10:27
那就可能是你用 的PDF Factory这个打印驱动有问题吧?
或许此驱动就是有默认的纸边距不为0.

如果没记错的话(很久以前的事了,也可能记错),PDF Factory有两个优势,一是免费(这里就不要说破解的到处都有了,上规模的企业不能随意用盗版的),二是可以一定范围内自定义PDF文件名,能够实现批量无人值守打印,并且生成的文件名符合最终要求。关键是第二点,很多软件都不能自定义文件名,后面会加个后缀啥的,打完了还要手工改名。
发表于 2019-7-6 15:10:50 | 显示全部楼层
本帖最后由 e2002 于 2019-7-6 15:43 编辑
mikewolf2k 发表于 2019-7-6 13:04
前面说的不可打印边界是针对物理打印机而言,前面也说了对于软件PDF打印是否可以为0不确定。从你的测试结 ...

我以前就是你这种做法,后来才改的。

自己用倒是没问题,但通用性有问题,文件设置好的 pagesetup/layout, 到了别人那里打开就比较麻烦(企业内部能统一就不错了)。

这些年已经不直接打印到物理设备,都是要求PDF,然后PDF发出到打印店打印到纸张。
这样也避免了dwg到外面打印出现缺失字体的状况发生。

至于自动裁剪,对于物理输出设备没有问题。
我说的是PDF输出,这时候页面还是需要有个纸张大小的。

最后你提到的线宽100的,这个在改为标准图幅尺寸时就测试过了,显然结果如你所想,50。

关于这个"图框"的"外边框线",仔细看规范规定,这线不是图框的一部分,其打印打印出来的作用是用来确定刀子切割纸张的线路的。
这个我以前也是理解错误,现在改正了。

也就是我们的图框块定义,可以不需要这个"外框细线",只需要标定两个角点位置即可(国外的很多图框块就是两个对角处有个标记短线)

发表于 2019-7-6 15:32:07 | 显示全部楼层
本帖最后由 e2002 于 2019-7-6 15:39 编辑
mikewolf2k 发表于 2019-7-6 13:11
如果没记错的话(很久以前的事了,也可能记错),PDF Factory有两个优势,一是免费(这里就不要说破解的 ...

查了一下PDF Factory的价格:

自定义文件名批量处理这个没注意过(以前也用过一段时间的 Pdf Factory)
因为我都是publish创建多页的单一pdf文件,这种特定功能可能有些特定用户有需求。
如果确实PDF Factory就是有个不能打印的硬边距,那就换别家的试试吧,还有好几家提供这pdf虚拟打印呢。

D版的问题...企业使用还是自觉掏钱吧。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-7-6 16:21:16 | 显示全部楼层
装了个 Pdf Factory pro,这个打印机的设置中的页边距修改为全是0,按“范围”打印没有问题,不会有缺失。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-7-6 16:22:58 | 显示全部楼层
e2002 发表于 2019-7-6 15:10
我以前就是你这种做法,后来才改的。

自己用倒是没问题,但通用性有问题,文件设置好的 pagesetup/lay ...

的确现在大多是提供PDF到专门的打印店去打印晒图(现在好像都直接打印蓝图了),自己单位都不直接出图了。可能实际PDF打印出来的都是缩放过的,这个也没法测。
通用性来说,无解,鉴于绝大多数用户都不掌握精确打印的知识,就都混过去了。同样理解打印介质的人就更少了。
边外框线是指什么?那个841X594的外框?

点评

告诉打印店,我们的pdf文件按原始尺寸,不缩放,按页面尺寸直接打印即可。 外框线就是那个最外面的包含图框线(粗线)de 细线,矩形,例如A1的尺寸就是 841x594  发表于 2019-7-6 18:58
发表于 2019-7-6 20:50:24 | 显示全部楼层
cad里的打印用的是视图坐标,不是绝对坐标,你需要转换一下,或者减去一个target的值
    '打印区域
    Dim pt1(0 To 1) As Double, pt2(0 To 1) As Double, target As Variant
    target = ThisDrawing.GetVariable("target")
    pt1(0) = tcell.x1 - target(0): pt1(1) = tcell.y1 - target(1): pt2(0) = tcell.x2 - target(0): pt2(1) = tcell.y2 - target(1)
 楼主| 发表于 2019-7-8 13:08:06 | 显示全部楼层
1005100717 发表于 2019-7-6 20:50
cad里的打印用的是视图坐标,不是绝对坐标,你需要转换一下,或者减去一个target的值
    '打印区域
     ...

我已经找到参数了。
Object.GetVariable("EXTMIN")
Object.GetVariable("EXTMAX")
这两句可以直接获取图形范围左下角和右上角坐标的数值,不用像你说的那样。还是谢谢你的回答。
发表于 2019-7-23 18:17:54 | 显示全部楼层
学习了,还没遇到类似情况。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-23 11:32 , Processed in 0.169152 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表