明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4271|回复: 4

[求助]VBA如何设置多布局打印成一个PDF文件?

[复制链接]
发表于 2006-7-20 08:07:00 | 显示全部楼层 |阅读模式

请大家帮帮忙,提供点思路吧

本人对CAD工具也不熟悉,但客户有要求要打印CAD文件成PDF,现在我已经可以做到,但是一个布局对应一个PDF,多个布局就有多PDF文件,我想让它一次打印成一份PDF就好了.

我用到ThisDrawing.Plot.PlotToDevice "Adobe PDF"

跟上设备名字,但是打印文件名又不能自定义,始终是"文件名 布局名称 (1).pdf",

怎么设置打印到设备时的文件名

如果不能一次打印成一份PDF文件,那么有谁知道PDF文件如何用VBA整合?

-----------------------

以上是我的问题......是挺多的....希望有高手能指点一二,实在是开发急用,又对工具不熟悉,大家帮帮忙吧,在这里谢过了

我把我在这里找的代码修改了贴出来,请帮忙看看

 '--------------------------------------------------
 'AutoCAD文件
 
 Dim CADApp As Variant 
 
 Set CADApp = CreateObject("AutoCAD.Application") 
 
 CADApp.Application.Visible =False
 Msgbox "CAD创建成功"
 
 CADApp.Documents.open str_FilePath
 Set ThisDrawing = CADApp.ActiveDocument
 Set Plot = ThisDrawing.Plot
 
 Msgbox "------------开始布局打印"
 
 Dim AddedLayouts() As String
 Dim LayoutList As Variant
 Dim ArraySize As Integer, BatchCount As Integer 
 ArraySize=0
 Forall Layout In ThisDrawing.Layouts
  Msgbox "布局名称:"+Layout.name    
  
  ArraySize = ArraySize + 1
  Redim AddedLayouts(1 To ArraySize)
  AddedLayouts(ArraySize) = Layout.name 
  
  lot.SetLayoutsToPlot AddedLayouts
  lot.PlotToDevice "Adobe PDF"
 End Forall
 
 
 'ThisDrawing.Plot.PlotToDevice "Adobe PDF"
 
 Msgbox "--------------------------布局打印完毕"
 CADApp.Documents.close
 CADApp.Quit

发表于 2006-7-20 20:32:00 | 显示全部楼层

使用虚拟打印机(我用PDF_FACTORY)!

遍历你的Layout,将Layout.ConfigName 设置为虚拟打印机,打印完毕后就可以生成一个PDF文件!

 

 楼主| 发表于 2006-7-21 08:36:00 | 显示全部楼层

不太明白啊........能不能说的详细一些,非常感谢!

PDF_FACTORY与Adobe PDF应该没有什么区别吧.

设置虚拟打印机该怎么弄,我是从客户端发出请求的,所有动作都只能在请求过程中自动转换的,最大的问题是我不懂CAD.....

 

发表于 2006-8-7 16:42:00 | 显示全部楼层
本帖最后由 作者 于 2006-8-8 8:21:27 编辑

采用autoCAD 2007,里面有自带的DWG To PDF.pc3打印设备,这个是打印到文件的,所以可以在程序中决定文件名,比如ThisDrawing.Plot.PlotToFile "H:\Temp\test0.pdf",其他的打印机通通都不可以指定,不知道楼上几位是怎么弄出来的。pdfFactory Pro也做不到的在程序中指定文件名的。

其实如果在打印对话框中选择打印设备时,如果打印到文件那一项是置灰而且是勾选的话,那就表示是可以再编程中指定文件名的。

 楼主| 发表于 2006-8-10 17:01:00 | 显示全部楼层

谢谢dcount107iceberg2509,现在我知道pdfFactory Pro是一种可以将多页面打印为一个PDF文件的虚拟打印机.程序文件名我不能指定,所以只能判断其可能打印的文件名称,然后拷贝成另一份文件.目前我是这样做的.

 

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

本版积分规则

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

GMT+8, 2024-11-27 00:50 , Processed in 0.170239 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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