Universal Document Converter
Product Overview
Download
Purchase
Tutorials
Developer Solutions
Support Service
About fCoder SIA


      Site search
   


      Popular conversions
PDF to JPG converter
Convert Word to PDF
Convert PDF to TIFF
Autocad to PDF converter
Convert Word to JPG
Powerpoint to PDF converter
Printing to PDF
Convert Excel to PDF
Convert DJVU to PDF
Convert Web Page to PDF

      Video tutorials
Show tutorial



Main page>Developer Solutions>Examples>Visual C#>AutoCAD Drawings to PDF

Converting AutoCAD Drawings to PDF for Visual C#


//////////////////////////////////////////////////////////////////////////////////////////////////// // This example was designed for using in Microsoft Visual C# from // Microsoft Visual Studio 2003 or above. // // 1. Autodesk AutoCAD 2000 or above should be installed and activated on your PC. // Autodesk AutoCAD LT does not have COM interface and cannot be used as COM-server! // // 2. Universal Document Converter 5.2 or above should be installed, too. // // 3. Add references to "AutoCAD 2006 Type Library", "AutoCAD/ObjectDBX Common 16.0 Type Library" and // "Universal Document Converter Type Library" using the Project | Add Reference menu > COM tab. // The version numbers in the type library names may be different depending on AutoCAD's version // installed on your computer. //////////////////////////////////////////////////////////////////////////////////////////////////// using System; using System.IO; using System.Globalization; using UDC; using AutoCAD = Autodesk.AutoCAD.Interop; namespace AutoCADtoPDF { class Program { static void PrintAutoCADtoPDF(string AutoCADFilePath) { //Create a UDC object and get its interfaces IUDC objUDC = new APIWrapper(); IUDCPrinter Printer = objUDC.get_Printers("Universal Document Converter"); IProfile Profile = Printer.Profile; //Use Universal Document Converter API to change settings of converterd drawing //Load profile located in folder "%APPDATA%\UDC Profiles". //Value of %APPDATA% variable should be received using Environment.GetFolderPath method. //Or you can move default profiles into a folder you prefer. string AppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); string ProfilePath = Path.Combine(AppDataPath, @"UDC Profiles\Drawing to PDF.xml"); Profile.Load(ProfilePath); Profile.OutputLocation.Mode = LocationModeID.LM_PREDEFINED; Profile.OutputLocation.FolderPath = @"c:\UDC Output Files"; Profile.PostProcessing.Mode = PostProcessingModeID.PP_OPEN_FOLDER; AutoCAD.AcadApplication App = new AutoCAD.AcadApplicationClass(); double Version = double.Parse(App.Version.Substring(0, 4), new CultureInfo("en-US")); //Open drawing from file Object ReadOnly = false; Object Password = Type.Missing; AutoCAD.AcadDocument Doc = App.Documents.Open(AutoCADFilePath, ReadOnly, Password); //AutoCAD.Common.AcadPaperSpace ActiveSpace; AutoCAD.Common.AcadLayout Layout; //Change AutoCAD preferences for scaling the drawing to page if(Doc.ActiveSpace == 0) Layout = Doc.PaperSpace.Layout; else Layout = Doc.ModelSpace.Layout; Layout.PlotType = AutoCAD.Common.AcPlotType.acExtents; Layout.UseStandardScale = true; Layout.StandardScale = AutoCAD.Common.AcPlotScale.acScaleToFit; Layout.CenterPlot = true; Object nBACKGROUNDPLOT = 0, nFILEDIA = 0, nCMDDIA = 0; if(Version >= 16.1f) { nBACKGROUNDPLOT = Doc.GetVariable("BACKGROUNDPLOT"); nFILEDIA = Doc.GetVariable("FILEDIA"); nCMDDIA = Doc.GetVariable("CMDDIA"); Object xNull = 0; Doc.SetVariable("BACKGROUNDPLOT", xNull); Doc.SetVariable("FILEDIA", xNull); Doc.SetVariable("CMDDIA", xNull); } Doc.Plot.QuietErrorMode = true; //Plot the drawing Doc.Plot.PlotToDevice("Universal Document Converter"); if(Version >= 16.1f ) { //Restore AutoCAD default preferences Doc.SetVariable("BACKGROUNDPLOT", nBACKGROUNDPLOT); Doc.SetVariable("FILEDIA", nFILEDIA); Doc.SetVariable("CMDDIA", nCMDDIA); } //Close drawing Object SaveChanges = false; Doc.Close(SaveChanges, Type.Missing); //Close Autodesk AutoCAD App.Quit(); } static void Main(string[] args) { string TestFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestFile.dwg"); PrintAutoCADtoPDF(TestFilePath); } } }


© fCoder SIA About fCoder SIA | Privacy Policy | Site Map