'----------------------------------------------------------------------
' 1) Autodesk AutoCAD 2000 or above should be installed and activated on your PC.
'
' 2) Universal Document Converter 5.2 or above should be installed, too.
'
' 3) Open your project in Microsoft Visual Basic 6.0.
'
' 4) In Visual Basic main menu press "Project->References".
'
' 5) In the list of references check "Universal Document Converter Type Library".
'----------------------------------------------------------------------Private Sub PrintACADToPDF(strFilePath As String)
' Define constantsConst acExtents = 1
Const acScaleToFit = 0
Dim nBACKGROUNDPLOT, nFILEDIA, nCMDDIA As LongDim objUDC As IUDC
Dim itfPrinter As IUDCPrinter
Dim itfProfile As IProfile
Dim objACADApp As ObjectDim itfDrawing As ObjectDim itfLayout As ObjectDim itfActiveSpace As ObjectSet objUDC = New UDC.APIWrapper
Set itfPrinter = objUDC.Printers("Universal Document Converter")
Set itfProfile = itfPrinter.Profile
' Use Universal Document Converter API to change settings of converterd document' Load profile located in folder "%APPDATA%\UDC Profiles".' Value of %APPDATA% variable should be received using Windows API's SHGetSpecialFolderPath function.' Or you can move default profiles into a folder you prefer.
itfProfile.Load("Drawing to PDF.xml")
itfProfile.OutputLocation.Mode = LM_PREDEFINED
itfProfile.OutputLocation.FolderPath = "C:\Out"
itfProfile.PostProcessing.Mode = PP_OPEN_FOLDER
' Run AutoCAD as COM-serverOn Error Resume NextSet objACADApp = CreateObject("AutoCAD.Application")
' Open drawing from file
Err = 0 ' Clear GetLastError() valueSet itfDrawing = objACADApp.Documents.Open(strFilePath, False)
If Err = 0 Then ' Change AutoCAD preferences for scaling the drawing to pageIf itfDrawing.ActiveSpace = 0 ThenSet itfActiveSpace = itfDrawing.PaperSpace
Set itfLayout = itfActiveSpace.Layout
ElseSet itfActiveSpace = itfDrawing.ModelSpace
Set itfLayout = itfActiveSpace.Layout
End If
itfLayout.PlotType = acExtents
itfLayout.UseStandardScale = True
itfLayout.StandardScale = acScaleToFit
itfLayout.CenterPlot = True
nBACKGROUNDPLOT = itfDrawing.GetVariable("BACKGROUNDPLOT")
nFILEDIA = itfDrawing.GetVariable("FILEDIA")
nCMDDIA = itfDrawing.GetVariable("CMDDIA")
Call itfDrawing.SetVariable("BACKGROUNDPLOT", 0)
Call itfDrawing.SetVariable("FILEDIA", 0)
Call itfDrawing.SetVariable("CMDDIA", 0)
itfDrawing.Plot.QuietErrorMode = True ' Plot the drawingCall itfDrawing.Plot.PlotToDevice("Universal Document Converter")
' Restore AutoCAD default preferencesCall itfDrawing.SetVariable("BACKGROUNDPLOT", nBACKGROUNDPLOT)
Call itfDrawing.SetVariable("FILEDIA", nFILEDIA)
Call itfDrawing.SetVariable("CMDDIA", nCMDDIA)
' Close drawingCall itfDrawing.Close(False)
Set itfDrawing = Nothing
End If' Close Autodesk AutoCADCall objACADApp.Quit
Set objACADApp = Nothing
End Sub