乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 168|回复: 4

vb.net调用cad打印多个文件为PDF,第一个可以正常生成,但第二个就出错了,望高手指教

[复制链接]

2

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
11
发表于 2014-11-26 21:46:00 | 显示全部楼层 |阅读模式
代码如下:
For i = 0 To FileNames.Length - 1
            AcadApp.Documents.Open(FileNames(i))
            AcadDoc = AcadApp.ActiveDocument
            AcadDoc.ModelSpace.Layout.ConfigName = "DWG To PDF.pc3"                                   '选定打印机配置
            AcadDoc.ModelSpace.Layout.CanonicalMediaName = "ANSI_A_(11.00_x_8.50_Inches)"          '设置图幅
            AcadDoc.Plot.PlotToFile(FileNames(i) & ".pdf") '打印
Next
第1个文件可以正常打印成PDF,循环到第2个时就出错,出错的提示是:“未处理COMException”,
"对 COM 组件的调用返回了错误 HRESULT E_FAIL".
我的想法会不会第1个文件正在打印的时候,程序又开始调用第2个打印,造成冲突,希望高手
指教原因和解决办法啊!
回复

使用道具 举报

5

主题

20

帖子

5

银币

初来乍到

Rank: 1

铜币
40
发表于 2021-1-7 10:38:00 | 显示全部楼层
我用Python弄,ActiveX , 也出现这个问题
回复

使用道具 举报

7

主题

34

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2021-2-11 20:15:00 | 显示全部楼层
我自己也出现过这种情况,而且你的想法跟我的想法一样。于是我在打印第一个文件完毕后设置延迟,确保文件1生成后再进行第二个文件的打印,结果的确没出现问题。后来,在论坛上发现,可以通过设置系统变量backgroundplot的值为0,将打印设置为前台打印,就一切顺利了。
  1. (setvar "backgroundplot" 0);;;        设定系统变量,确保cad在前台进行打印,这样后一次打印会在前一次打印完成后才开始,避免错误
回复

使用道具 举报

6

主题

27

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
51
发表于 2022-2-12 15:59:00 | 显示全部楼层
学习了,支持!!!
回复

使用道具 举报

14

主题

64

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
120
发表于 2022-2-16 09:23:00 | 显示全部楼层
学习了,谢谢你
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 01:19 , Processed in 0.400561 second(s), 62 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表