prapti 发表于 2022-7-6 10:15:05

255层文字屏蔽

你好
 
当我在绘图中屏蔽文本并创建pdf时,它看起来很好,但是
当我试图从绘图PDF中打印出来时,文本周围是黑色背景,文本无法阅读,
 
有谁能帮我创建lisp的文字掩蔽与255色默认用于光栅图像。

Lee Mac 发表于 2022-7-6 10:23:32

我不经常使用多行文字掩蔽,但可能会使用擦除?

alanjt 发表于 2022-7-6 10:36:58

到目前为止你有什么? 
PDF讨厌抹杀。最后,在每段文字上都有一个半黑的正方形。

Lee Mac 发表于 2022-7-6 10:42:30

 
啊-我不知道
 
谢谢

mdbdesign 发表于 2022-7-6 10:47:37

 
只是好奇:为什么在打印到pdf之前要使用掩蔽文本?

alanjt 发表于 2022-7-6 10:53:57

这对常规打印很好,PDF讨厌它。

Se7en 发表于 2022-7-6 11:00:46

什么样的PDF?你在使用什么(PDF)驱动程序?
 
我可以(我不知道,但我可以)在我的PDF中使用擦除器和bg掩码,没问题。我使用Ghostscript。
 
***
 
我有这个,但我不知道什么时候写的,为什么写的(我不记得了)。请根据您的需要随意修改。
 
当心如果使用注释性文字样式,则以这种方式应用的背景遮罩(例如,不使用“特性”选项板)将产生愚蠢的结果。
 
(defun c:tbm (/ ssMtext MtextList doffset ent x)
(and (setq ssMtext (ssget '((-4 . "<OR") (0 . "MTEXT") (-4 . "OR>"))))
      (setq ssMtext (vl-remove-if 'listp (mapcar 'cadr (ssnamex ssMtext))))
)
(foreach x ssMtext
   (setq ent (entget x))
   ;; If no background fill exist
   (if        (< (cdr (assoc 90 ent)) 3)
   (progn
(or doffset
(setq        doffset
       (cond
           ((getdist "\nSpecify border offset factor : "))
           (1.5)
       )
)
)
;; mask not present set it.
(setq ent (append ent (list '(90 . 3) '(63 . 255) (cons 45 doffset) '(441 . 0))))
   )
   ;; mask present, kill
   (setq ent (subst (cons 90 2) (assoc 90 ent) ent))
   )
   (entmod ent)
   ;; write the ent
(command "draworder" "p" "" "front")
)
;;   (and ssMtext (command "draworder" ssMtext "" "front"))
;;    (Princ "\nThe Masking is complete.")
(princ)
)

alanjt 发表于 2022-7-6 11:08:18

我使用了Acrobat、CutePDF和默认的Autocad到PDF。pc3,从来没有让它工作过。我很久以前就放弃了淘汰赛。我通常只需要在这里和那里擦除一段多行文字,我只需要使用多行文字内置的掩码。非常有趣。我得看一看鬼魂脚本。
 
通过使用VL设置掩码开/关,可以避免此问题。从那里,你可以用entmod编辑颜色和宽度,一切都会很好——我从来没有找到一种方法用VL来更改颜色/宽度。

prapti 发表于 2022-7-6 11:17:41

 
Se7en谢谢
这个lisp只处理多行文字,而不是普通文字
但无论如何我的问题都解决了
谢谢
页: [1]
查看完整版本: 255层文字屏蔽