from pycomcad import * #以pycomcad作為接口庫為例
import win32com
acad=Autocad()
打印最重要的設置都在上面的界面中,下面對這些個界面,用Python控制來一一進行說明:
(1)打印機的控制
全部顯示出打印機:
acad.acad.ActiveDocument.ModelSpace.Layout.GetPlotDeviceNames()
選擇打印機:
acad.acad.ActiveDocument.ActiveLayout.ConfigName='DWG to PDF.pc3'
(2)選擇圖紙尺寸
顯示所有可供選擇的尺寸
acad.acad.ActiveDocument.ModelSpace.Layout.GetCanonicalMediaNames()
設定打印圖紙尺寸:
acad.acad.ActiveDocument.ModelSpace.Layout.CanonicalMediaName='ISO_A1_(841.00_x_594.00_MM)'
(3)打印區域---窗口為例
以打印窗口設置為例(設定acWindow前,需要調用SetWindoToPlot方法來指定打印區域,p1是左下角,p2是右上角)
p1=acad.GetPoint()
p2=acad.GetPoint()
acad.acad.ActiveDocument.ModelSpace.Layout.SetWindowToPlot(VtFloat(p1[:2]),VtFloat(p2[:2]))
acad.acad.ActiveDocument.ModelSpace.Layout.PlotType=win32com.client.constants.acWindow
其他選項如下:
(4)打印偏移---以居中為例
acad.acad.ActiveDocument.ModelSpace.Layout.CenterPlot=True
(5)打印比例---以布滿為例
acad.acad.ActiveDocument.ModelSpace.Layout.UseStandardScale=True #選用標准的比例
acad.acad.ActiveDocument.ModelSpace.Layout.StandardScale=win32com.client.constants.acScaleToFit
如果要自定義打印比例,將UseStandardScale
設置為False
,並調用SetCustomScale
方法,該方法說明如下:
(6)打印樣式表
查看所有的打印樣式表
acad.acad.ActiveDocument.ModelSpace.Layout.GetPlotStyleTableNames ()
設定特定的打印樣式表,以monochrome.ctb
為例:
acad.acad.ActiveDocument.ModelSpace.Layout.StyleSheet='monochrome.ctb'
(7)預覽
acad.acad.ActiveDocument.Plot.DisplayPlotPreview(win32com.client.constants.acFullPreview)
(8)打印到文件
acad.acad.ActiveDocument.Plot.PlotToFile(r'johnyangPlot.pdf')
打印成功返回True