<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Batching export to pdf from ACAD problem - C# in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3564224#M54132</link>
    <description>&lt;P&gt;Thanks for the sharing,&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#800000" face="arial,helvetica,sans-serif"&gt;~'J'~&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 03 Aug 2012 08:25:58 GMT</pubDate>
    <dc:creator>Hallex</dc:creator>
    <dc:date>2012-08-03T08:25:58Z</dc:date>
    <item>
      <title>Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3562450#M54123</link>
      <description>&lt;P&gt;Hi everyone!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've got an exiting problem while trying to batch pdf export.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My task is quite simple: first, look through the drawing (all the lists and model space) and find all dynamic blocks with effective name "SheetGOST", case it's a drawing frame; second, export areas surrounded by those frames to pdf page by page. I've decided that plotting areas via "DWG To PDF.pc3" would be the easiest way.&lt;/P&gt;&lt;P&gt;Practically all the steps made: I get collection of blocks, I know howto print one of them to pdf, and it,s working correctly. The problem is, when I try to plot all the areas in cycle, in output pdf I get num of pages according to num of lists, and only the last area from the list. Test document contains 24 blocks on 3 lists, I get 3 page pdf with 7th, 22th and 24th frame printed..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I ran out of the ideas where I went wrong =(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-SPOILER&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;        [CommandMethod("PlotToPdf")] 
        static public void MultiSheetPlot() 
        { 
         Document doc = Application.DocumentManager.MdiActiveDocument; 
            Editor ed = doc.Editor; 
            Database db = doc.Database; 
            Transaction tr = db.TransactionManager.StartTransaction(); 
            using (tr) 
            { 
                List&amp;lt;GostBlk&amp;gt; BlocksToPlot = new List&amp;lt;GostBlk&amp;gt;(); 
                List&amp;lt;Layout&amp;gt; LayList = new List&amp;lt;Layout&amp;gt;(); 
                GetGostStampCollection(db, ed, tr, ref BlocksToPlot, ref LayList); 
                ed.WriteMessage("\nThe number of GOST stamps found: " + BlocksToPlot.Count + "\n\n"); 
                if (BlocksToPlot.Count &amp;lt; 1) return; 

                if (PlotFactory.ProcessPlotState == ProcessPlotState.NotPlotting) 
                { 
                    PlotEngine pe = PlotFactory.CreatePublishEngine(); 
                    using (pe) 
                    { 
                        PlotProgressDialog ppd = new PlotProgressDialog(false, BlocksToPlot.Count, true); 
                        using (ppd) 
                        { 
                            int numSheet = 1; 
                            ppd.set_PlotMsgString(PlotMessageIndex.DialogTitle, "Custom Plot Progress"); 
                            ppd.set_PlotMsgString(PlotMessageIndex.CancelJobButtonMessage, "Cancel Job"); 
                            ppd.set_PlotMsgString(PlotMessageIndex.CancelSheetButtonMessage, "Cancel Sheet"); 
                            ppd.set_PlotMsgString(PlotMessageIndex.SheetSetProgressCaption, "Sheet Set Progress"); 
                            ppd.set_PlotMsgString(PlotMessageIndex.SheetProgressCaption, "Sheet Progress"); 
                            ppd.LowerPlotProgressRange = 0; 
                            ppd.UpperPlotProgressRange = 100; 
                            ppd.PlotProgressPos = 0; 
                            ppd.OnBeginPlot(); 
                            ppd.IsVisible = true; 

                            pe.BeginPlot(ppd, null); 
                             
                            foreach (GostBlk gblk in BlocksToPlot) 
                            { 
                                ppd.StatusMsgString = "Plotting block " + numSheet.ToString() + " of " + BlocksToPlot.Count.ToString(); 
                                ppd.OnBeginSheet(); 
                                ppd.LowerSheetProgressRange = 0; 
                                ppd.UpperSheetProgressRange = 100; 
                                ppd.SheetProgressPos = 0; 

                                PlotInfoValidator piv = new PlotInfoValidator(); 
                                piv.MediaMatchingPolicy = MatchingPolicy.MatchEnabled; 

                                PlotPageInfo ppi = new PlotPageInfo(); 
                                PlotInfo pi = new PlotInfo(); 
                                 
                                BlockReference blk = gblk.BlockRef; 
                                Layout lo = gblk.LayoutRef;                                                                 
                                Extents3d ext = (Extents3d)blk.Bounds; 
                                Point3d first = ext.MaxPoint; 
                                Point3d second = ext.MinPoint; 

                                ResultBuffer rbFrom = new ResultBuffer(new TypedValue(5003, 1)), rbTo = new ResultBuffer(new TypedValue(5003, 2)); 
                                double[] firres = new double[] { 0, 0, 0 }; 
                                double[] secres = new double[] { 0, 0, 0 }; 
                                acedTrans(first.ToArray(), rbFrom.UnmanagedObject, rbTo.UnmanagedObject, 0, firres); 
                                acedTrans(second.ToArray(), rbFrom.UnmanagedObject, rbTo.UnmanagedObject, 0, secres); 
                                Extents2d window = new Extents2d(firres[0], firres[1], secres[0], secres[1]); 

                                // We need a PlotSettings object based on the layout settings which we then customize 
                                PlotSettings ps = new PlotSettings(lo.ModelType); 
                                LayoutManager.Current.CurrentLayout = lo.LayoutName; 
                                pi.Layout = lo.Id; 
                                ps.CopyFrom(lo); 

                                // The PlotSettingsValidator helps create a valid PlotSettings object 
                                PlotSettingsValidator psv = PlotSettingsValidator.Current; 
                                psv.SetPlotWindowArea(ps, window); 
                                psv.SetPlotType(ps, Autodesk.AutoCAD.DatabaseServices.PlotType.Window); 
                                psv.SetUseStandardScale(ps, true); 
                                psv.SetStdScaleType(ps, StdScaleType.ScaleToFit); 
                                psv.SetPlotCentered(ps, true); //StdScaleType.StdScale1To1 
                                psv.SetPlotConfigurationName(ps, "DWG To PDF.pc3", "ISO_A3_(297.00_x_420.00_MM)"); 
                                 
                                pi.OverrideSettings = ps; 
                                piv.Validate(pi); 

                                if (numSheet == 1) 
                                { 
                                    pe.BeginDocument(pi, doc.Name, null, 1, true, "c:\\multiblock"); 
                                } 
                                 
                                pe.BeginPage(ppi, pi, (numSheet == BlocksToPlot.Count), null); 
                                pe.BeginGenerateGraphics(null); 
                                ppd.SheetProgressPos = 50; 
                                pe.EndGenerateGraphics(null); 

                                // Finish the sheet 
                                pe.EndPage(null); 
                                ppd.SheetProgressPos = 100; 
                                ppd.PlotProgressPos += Convert.ToInt32(100 / BlocksToPlot.Count); 
                                ppd.OnEndSheet(); 
                                numSheet++; 
                            } 

                            // Finish the document 
                            pe.EndDocument(null); 
                            // And finish the plot 
                            ppd.PlotProgressPos = 100; 
                            ppd.OnEndPlot(); 
                            pe.EndPlot(null); 
                        } 
                    } 
                } 
                else 
                { 
                    ed.WriteMessage("\nAnother plot is in progress."); 
                } 
            } 
        }&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/LI-SPOILER&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Aug 2012 06:48:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3562450#M54123</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-08-02T06:48:25Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563212#M54124</link>
      <description>&lt;P&gt;I assume you never see the message&amp;nbsp;"another plot is in progress"?&amp;nbsp; Do you make sure "background plotting" is off?&lt;/P&gt;&lt;P&gt;In VB:&lt;/P&gt;&lt;P&gt;Imports &lt;FONT size="2" face="Consolas"&gt;&lt;FONT size="2" face="Consolas"&gt;acapp = Autodesk.AutoCAD.ApplicationServices&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;acapp.&lt;FONT color="#2b91af" size="2" face="Consolas"&gt;&lt;FONT color="#2b91af" size="2" face="Consolas"&gt;&lt;FONT color="#2b91af" size="2" face="Consolas"&gt;Application&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Consolas"&gt;&lt;FONT size="2" face="Consolas"&gt;.SetSystemVariable(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#a31515" size="2" face="Consolas"&gt;&lt;FONT color="#a31515" size="2" face="Consolas"&gt;&lt;FONT color="#a31515" size="2" face="Consolas"&gt;"BACKGROUNDPLOT"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="2" face="Consolas"&gt;&lt;FONT size="2" face="Consolas"&gt;, 0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2" face="Consolas"&gt;&lt;FONT size="2" face="Consolas"&gt;Can you post a sample dwg with "SheetGOST" in it?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Aug 2012 15:06:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563212#M54124</guid>
      <dc:creator>fieldguy</dc:creator>
      <dc:date>2012-08-02T15:06:23Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563240#M54125</link>
      <description>&lt;P&gt;We would also need to see your code for "GetGostStampCollection" in order to test.&lt;/P&gt;</description>
      <pubDate>Thu, 02 Aug 2012 15:14:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563240#M54125</guid>
      <dc:creator>fieldguy</dc:creator>
      <dc:date>2012-08-02T15:14:08Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563274#M54126</link>
      <description>&lt;P&gt;Thx for answer!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;No, it is plotting sort of corretly - no errors or anything.&amp;nbsp;PlotProgressDialog shows progress for all the frames found. But still output contains only one (last) frame per list. =(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example file in attachment...&lt;/P&gt;</description>
      <pubDate>Thu, 02 Aug 2012 15:31:10 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563274#M54126</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-08-02T15:31:10Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563292#M54127</link>
      <description>&lt;P&gt;Oh, my bad. Here it is:&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;        static void GetGostStampCollection(Database db, Editor ed, Transaction tr, ref List&amp;lt;GostBlk&amp;gt; GostCol, ref List&amp;lt;Layout&amp;gt; LayList)
        {
            BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
            foreach (ObjectId btrId in bt)
            {
                BlockTableRecord btr = (BlockTableRecord)tr.GetObject(btrId, OpenMode.ForRead);
                if (btr.IsLayout)
                {
                    Layout lo = (Layout)tr.GetObject(btr.LayoutId, OpenMode.ForRead);
                    if (!LayList.Contains(lo)) LayList.Add(lo);
                    BlockTableRecord ms = (BlockTableRecord)tr.GetObject(lo.BlockTableRecordId, OpenMode.ForRead);
                    foreach (ObjectId objId in ms)
                    {
                        Entity ent = (Entity)tr.GetObject(objId, OpenMode.ForRead);
                        if (!ent.GetType().ToString().Contains("BlockReference")) continue;
                        BlockReference blk = (BlockReference)ent;
                        string Effn = ACADExtension.ACADExt.EffectiveName(blk);
                        if (!Effn.ToUpper().Contains("SHEETGOST")) continue;
                        GostBlk theBlk = new GostBlk();
                        theBlk.BlockRef = blk;
                        theBlk.LayoutRef = lo;
                        GostCol.Add(theBlk);
                    }
                }
            }
        }&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You might need as well my finding block by .EffectiveName:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;public static string EffectiveName(BlockReference blkref)
        {
            if (blkref.IsDynamicBlock)
            {
                using (BlockTableRecord obj = (BlockTableRecord)blkref.DynamicBlockTableRecord.GetObject(OpenMode.ForRead))
                    return obj.Name;
            }
            return blkref.Name;
        }&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Thu, 02 Aug 2012 15:34:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563292#M54127</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-08-02T15:34:58Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563302#M54128</link>
      <description>&lt;P&gt;Good - thanks!&amp;nbsp; What about backgroundplot?&lt;/P&gt;</description>
      <pubDate>Thu, 02 Aug 2012 15:37:46 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563302#M54128</guid>
      <dc:creator>fieldguy</dc:creator>
      <dc:date>2012-08-02T15:37:46Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563322#M54129</link>
      <description>&lt;P&gt;Whoa! Adding this to the start has done the trick:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Autodesk.AutoCAD.ApplicationServices.Application.SetSystemVariable("BACKGROUNDPLOT", 0);&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;That's great! Thank you very much! &lt;span class="lia-unicode-emoji" title=":grinning_face_with_big_eyes:"&gt;😃&lt;/span&gt; Feeling a little bit mad 'bout myself, though&amp;nbsp;&lt;img id="smileyindifferent" class="emoticon emoticon-smileyindifferent" src="https://forums.autodesk.com/i/smilies/16x16_smiley-indifferent.png" alt="Smiley Indifferent" title="Smiley Indifferent" /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Aug 2012 15:45:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563322#M54129</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-08-02T15:45:35Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563338#M54130</link>
      <description>&lt;P&gt;No problem!&amp;nbsp; Carry on...&lt;/P&gt;</description>
      <pubDate>Thu, 02 Aug 2012 15:49:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3563338#M54130</guid>
      <dc:creator>fieldguy</dc:creator>
      <dc:date>2012-08-02T15:49:09Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3564188#M54131</link>
      <description>&lt;P&gt;And, finally, working (tested in ACAD2010) code for the problem. In case someone finds it useful:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-SPOILER&gt;&lt;PRE&gt;using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Internal.Reactors;
using Autodesk.AutoCAD.PlottingServices;
using Autodesk.AutoCAD.Runtime;
using ACAD = Autodesk.AutoCAD.ApplicationServices.Application;
using ED = Autodesk.AutoCAD.EditorInput.Editor;

namespace Plot2PDF
{
    public class Program : IExtensionApplication
    {
        [DllImport("acad.exe", CallingConvention = CallingConvention.Cdecl, EntryPoint = "acedTrans")]

        static extern int acedTrans(double[] point, IntPtr fromRb, IntPtr toRb, int disp, double[] result);
        List&amp;lt;string&amp;gt; msgs = new List&amp;lt;string&amp;gt;();

        public class Blk2Plt
        {
            public BlockReference BlockRef;
            public Layout LayoutObj;
        }

        public void Terminate()
        {
            ApplicationEventManager cadWinEvnts = Autodesk.AutoCAD.Internal.Reactors.ApplicationEventManager.Instance();
            msgs.Sort();
            ED ed = ACAD.DocumentManager.MdiActiveDocument.Editor;
            foreach (string msg in msgs)
            {
                ed.WriteMessage(msg);
            }
        }

        public void Initialize()
        {

        }

        static string EffectiveName(BlockReference blkref)
        {
            if (blkref.IsDynamicBlock)
            {
                using (BlockTableRecord obj = (BlockTableRecord)blkref.DynamicBlockTableRecord.GetObject(OpenMode.ForRead))
                    return obj.Name;
            }
            return blkref.Name;
        }

        static void GetBlocksToPlotCollection(Database db, Editor ed, Transaction tr, String BlockName, ref List&amp;lt;Blk2Plt&amp;gt; BlockCol)
        {
            BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
            foreach (ObjectId btrId in bt)
            {
                BlockTableRecord btr = (BlockTableRecord)tr.GetObject(btrId, OpenMode.ForRead);
                if (btr.IsLayout)
                {
                    Layout lo = (Layout)tr.GetObject(btr.LayoutId, OpenMode.ForRead);
                    BlockTableRecord ms = (BlockTableRecord)tr.GetObject(lo.BlockTableRecordId, OpenMode.ForRead);
                    foreach (ObjectId objId in ms)
                    {
                        Entity ent = (Entity)tr.GetObject(objId, OpenMode.ForRead);
                        if (!ent.GetType().ToString().Contains("BlockReference")) continue;
                        BlockReference blk = (BlockReference)ent;
                        string Effn = EffectiveName(blk);
                        if (!Effn.ToUpper().Contains(BlockName.ToUpper())) continue;
                        Blk2Plt theBlk = new Blk2Plt();
                        theBlk.BlockRef = blk;
                        theBlk.LayoutObj = lo;
                        BlockCol.Add(theBlk);
                    }
                }
            }
        }

        static void PlotBlockColToPDF(String BlockName, String PrinterName, String OutPath, String PaperSize = "ISO_A4_(297.00_x_210.00_MM)")
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Editor ed = doc.Editor;
            Database db = doc.Database;
            Transaction tr = db.TransactionManager.StartTransaction();
            Object SysVarBackPlot = Application.GetSystemVariable("BACKGROUNDPLOT");
            Application.SetSystemVariable("BACKGROUNDPLOT", 0);
            using (tr)
            {
                List&amp;lt;Blk2Plt&amp;gt; BlocksToPlot = new List&amp;lt;Blk2Plt&amp;gt;();

                GetBlocksToPlotCollection(db, ed, tr, BlockName, ref BlocksToPlot);//Getting collection of blocks

                ed.WriteMessage("\nThe number of blocks found: " + BlocksToPlot.Count + "\n\n");
                if (BlocksToPlot.Count &amp;lt; 1) return;

                if (PlotFactory.ProcessPlotState == ProcessPlotState.NotPlotting)
                {
                    PlotEngine pe = PlotFactory.CreatePublishEngine();
                    using (pe)
                    {
                        PlotProgressDialog ppd = new PlotProgressDialog(false, BlocksToPlot.Count, true);
                        using (ppd)
                        {
                            int numSheet = 1;
                            // Setting up the PlotProgress dialog
                            ppd.set_PlotMsgString(PlotMessageIndex.DialogTitle, "Custom Plot Progress");
                            ppd.set_PlotMsgString(PlotMessageIndex.CancelJobButtonMessage, "Cancel Job");
                            ppd.set_PlotMsgString(PlotMessageIndex.CancelSheetButtonMessage, "Cancel Sheet");
                            ppd.set_PlotMsgString(PlotMessageIndex.SheetSetProgressCaption, "Sheet Set Progress");
                            ppd.set_PlotMsgString(PlotMessageIndex.SheetProgressCaption, "Sheet Progress");
                            ppd.LowerPlotProgressRange = 0;
                            ppd.UpperPlotProgressRange = 100;
                            ppd.PlotProgressPos = 0;
                            ppd.OnBeginPlot();
                            ppd.IsVisible = true;

                            pe.BeginPlot(ppd, null);

                            foreach (Blk2Plt gblk in BlocksToPlot)
                            {
                                // Starting new page
                                ppd.StatusMsgString = "Plotting block " + numSheet.ToString() + " of " + BlocksToPlot.Count.ToString();
                                ppd.OnBeginSheet();
                                ppd.LowerSheetProgressRange = 0;
                                ppd.UpperSheetProgressRange = 100;
                                ppd.SheetProgressPos = 0;

                                PlotInfoValidator piv = new PlotInfoValidator();
                                piv.MediaMatchingPolicy = MatchingPolicy.MatchEnabled;
                                PlotPageInfo ppi = new PlotPageInfo();
                                PlotInfo pi = new PlotInfo();
                                BlockReference blk = gblk.BlockRef;
                                Layout lo = gblk.LayoutObj;

                                // Getting coodinates of window to plot
                                Extents3d ext = (Extents3d)blk.Bounds;
                                Point3d first = ext.MaxPoint;
                                Point3d second = ext.MinPoint;
                                ResultBuffer rbFrom = new ResultBuffer(new TypedValue(5003, 1)), rbTo = new ResultBuffer(new TypedValue(5003, 2));
                                double[] firres = new double[] { 0, 0, 0 };
                                double[] secres = new double[] { 0, 0, 0 };
                                acedTrans(first.ToArray(), rbFrom.UnmanagedObject, rbTo.UnmanagedObject, 0, firres);
                                acedTrans(second.ToArray(), rbFrom.UnmanagedObject, rbTo.UnmanagedObject, 0, secres);
                                Extents2d window = new Extents2d(firres[0], firres[1], secres[0], secres[1]);

                                // We need a PlotSettings object based on the layout settings which we then customize
                                PlotSettings ps = new PlotSettings(lo.ModelType);
                                LayoutManager.Current.CurrentLayout = lo.LayoutName;
                                pi.Layout = lo.Id;
                                ps.CopyFrom(lo);

                                // The PlotSettingsValidator helps create a valid PlotSettings object
                                PlotSettingsValidator psv = PlotSettingsValidator.Current;
                                psv.SetPlotWindowArea(ps, window);
                                psv.SetPlotType(ps, Autodesk.AutoCAD.DatabaseServices.PlotType.Window);
                                psv.SetUseStandardScale(ps, true);
                                psv.SetStdScaleType(ps, StdScaleType.ScaleToFit);
                                psv.SetPlotCentered(ps, true);
                                psv.SetPlotConfigurationName(ps, PrinterName, PaperSize);

                                pi.OverrideSettings = ps;
                                piv.Validate(pi);

                                if (numSheet == 1) pe.BeginDocument(pi, doc.Name, null, 1, true, OutPath); // Create document for the first page

                                // Plot the window
                                pe.BeginPage(ppi, pi, (numSheet == BlocksToPlot.Count), null);
                                pe.BeginGenerateGraphics(null);
                                ppd.SheetProgressPos = 50;
                                pe.EndGenerateGraphics(null);

                                // Finish the sheet
                                pe.EndPage(null);
                                ppd.SheetProgressPos = 100;
                                ppd.PlotProgressPos += Convert.ToInt32(100 / BlocksToPlot.Count);
                                ppd.OnEndSheet();
                                numSheet++;
                            }
                            // Finish the document and finish the plot
                            pe.EndDocument(null);
                            ppd.PlotProgressPos = 100;
                            ppd.OnEndPlot();
                            pe.EndPlot(null);
                            ed.WriteMessage("\nPlot completed successfully!\n\n");
                        }
                    }
                }
                else
                {
                    ed.WriteMessage("\nAnother plot is in progress.\n\n");
                }
                tr.Commit();
            }
            Application.SetSystemVariable("BACKGROUNDPLOT", SysVarBackPlot);
        }

        [CommandMethod("PlotToPdf")]
        static public void PlotToPdf()
        {
            String BlockName = "SHEETGOST";
            String PrinterName = "DWG To PDF.pc3";
            String PaperSize = "ISO_A3_(297.00_x_420.00_MM)";
            String OutPath = "c:\\plot2pdf";

            PlotBlockColToPDF(BlockName, PrinterName, OutPath, PaperSize);
        }
    }
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/LI-SPOILER&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Aug 2012 07:50:19 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3564188#M54131</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2012-08-03T07:50:19Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3564224#M54132</link>
      <description>&lt;P&gt;Thanks for the sharing,&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#800000" face="arial,helvetica,sans-serif"&gt;~'J'~&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Aug 2012 08:25:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/3564224#M54132</guid>
      <dc:creator>Hallex</dc:creator>
      <dc:date>2012-08-03T08:25:58Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/5885056#M54133</link>
      <description>&lt;P&gt;Hello guys,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been reading this post since yesterday hoping that i could find a solution to my problem..&lt;/P&gt;&lt;P&gt;Is there a way to export a portion of map. I would like to export from point A to point B. it will form a bounding box right?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Rom&lt;/P&gt;</description>
      <pubDate>Fri, 30 Oct 2015 02:38:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/5885056#M54133</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2015-10-30T02:38:27Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/7654591#M54134</link>
      <description>&lt;P&gt;I am a beginner.So I want to know how can I use this code in my program?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Dec 2017 18:52:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/7654591#M54134</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-12-29T18:52:59Z</dc:date>
    </item>
    <item>
      <title>Re: Batching export to pdf from ACAD problem - C#</title>
      <link>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/10298060#M54135</link>
      <description>&lt;P&gt;Hi there,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Whilst trying to implement your solution in Autocad 2018&amp;nbsp;I've had to reconnect the acedTrans method to the accore.dll since apparently that is where that logic moved.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I find that the pdf's that get generated are empty files. When debugging I see that the bounding boxes for the window plot are getting measured at 0.4x0.4 which is not at all the size of my blocks.&lt;BR /&gt;The acedTrans method is responsible for translating those lower left corner and uper right corner to the DCS coördinate system before passing it along to the plotting settings but I'm guessing something changed in that API since 2010?&lt;BR /&gt;&lt;BR /&gt;Anyone any idea's how it is done today?&lt;BR /&gt;&lt;BR /&gt;My source code:&lt;/P&gt;&lt;LI-SPOILER&gt;&lt;P&gt;using System;&lt;BR /&gt;using System.Collections.Generic;&lt;BR /&gt;using System.Runtime.InteropServices;&lt;BR /&gt;using Autodesk.AutoCAD.ApplicationServices;&lt;BR /&gt;using Autodesk.AutoCAD.DatabaseServices;&lt;BR /&gt;using Autodesk.AutoCAD.EditorInput;&lt;BR /&gt;using Autodesk.AutoCAD.Geometry;&lt;BR /&gt;using Autodesk.AutoCAD.Internal.Reactors;&lt;BR /&gt;using Autodesk.AutoCAD.PlottingServices;&lt;BR /&gt;using Autodesk.AutoCAD.Runtime;&lt;BR /&gt;using ACAD = Autodesk.AutoCAD.ApplicationServices.Application;&lt;BR /&gt;using ED = Autodesk.AutoCAD.EditorInput.Editor;&lt;/P&gt;&lt;P&gt;// Help:&lt;BR /&gt;// &lt;A href="https://forums.autodesk.com/t5/net/batching-export-to-pdf-from-acad-problem-c/td-p/3562450" target="_blank"&gt;https://forums.autodesk.com/t5/net/batching-export-to-pdf-from-acad-problem-c/td-p/3562450&lt;/A&gt;&lt;BR /&gt;// &lt;A href="https://www.geek-share.com/detail/2403428600.html" target="_blank"&gt;https://www.geek-share.com/detail/2403428600.html&lt;/A&gt;&lt;BR /&gt;// &lt;A href="https://forums.autodesk.com/t5/net/problem-using-acedtrans-for-ucs-to-dcs-in-autocad-2013/td-p/3409955" target="_blank"&gt;https://forums.autodesk.com/t5/net/problem-using-acedtrans-for-ucs-to-dcs-in-autocad-2013/td-p/3409955&lt;/A&gt;&lt;/P&gt;&lt;P&gt;namespace Plot2PDF&lt;BR /&gt;{&lt;BR /&gt;public class Program : IExtensionApplication&lt;BR /&gt;{&lt;BR /&gt;/*&lt;BR /&gt;&amp;lt;= cad 2012 = acad.exe&lt;BR /&gt;&amp;gt; cad 2012 = accore.dll&lt;BR /&gt;32bit = prefix with "_"&lt;BR /&gt;*/&lt;BR /&gt;[DllImport("accore.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "acedTrans")]&lt;BR /&gt;static extern int acedTrans(double[] point, IntPtr fromRb, IntPtr toRb, int disp, double[] result);&lt;BR /&gt;List&amp;lt;string&amp;gt; msgs = new List&amp;lt;string&amp;gt;();&lt;/P&gt;&lt;P&gt;public class Blk2Plt&lt;BR /&gt;{&lt;BR /&gt;public BlockReference BlockRef;&lt;BR /&gt;public Layout LayoutObj;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;public void Terminate()&lt;BR /&gt;{&lt;BR /&gt;ApplicationEventManager cadWinEvnts = Autodesk.AutoCAD.Internal.Reactors.ApplicationEventManager.Instance();&lt;BR /&gt;msgs.Sort();&lt;BR /&gt;ED ed = ACAD.DocumentManager.MdiActiveDocument.Editor;&lt;BR /&gt;foreach (string msg in msgs)&lt;BR /&gt;{&lt;BR /&gt;ed.WriteMessage(msg);&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;public void Initialize()&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;static string EffectiveName(BlockReference blkref)&lt;BR /&gt;{&lt;BR /&gt;if (blkref.IsDynamicBlock)&lt;BR /&gt;{&lt;BR /&gt;using (BlockTableRecord obj = (BlockTableRecord)blkref.DynamicBlockTableRecord.GetObject(OpenMode.ForRead))&lt;BR /&gt;return obj.Name;&lt;BR /&gt;}&lt;BR /&gt;return blkref.Name;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;static void GetBlocksToPlotCollection(Database db, Editor ed, Transaction tr, String BlockName, ref List&amp;lt;Blk2Plt&amp;gt; BlockCol)&lt;BR /&gt;{&lt;BR /&gt;BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);&lt;BR /&gt;foreach (ObjectId btrId in bt)&lt;BR /&gt;{&lt;BR /&gt;BlockTableRecord btr = (BlockTableRecord)tr.GetObject(btrId, OpenMode.ForRead);&lt;BR /&gt;if (btr.IsLayout)&lt;BR /&gt;{&lt;BR /&gt;Layout lo = (Layout)tr.GetObject(btr.LayoutId, OpenMode.ForRead);&lt;BR /&gt;BlockTableRecord ms = (BlockTableRecord)tr.GetObject(lo.BlockTableRecordId, OpenMode.ForRead);&lt;BR /&gt;foreach (ObjectId objId in ms)&lt;BR /&gt;{&lt;BR /&gt;Entity ent = (Entity)tr.GetObject(objId, OpenMode.ForRead);&lt;BR /&gt;if (!ent.GetType().ToString().Contains("BlockReference")) continue;&lt;BR /&gt;BlockReference blk = (BlockReference)ent;&lt;BR /&gt;string Effn = EffectiveName(blk);&lt;BR /&gt;if (!Effn.ToUpper().Contains(BlockName.ToUpper())) continue;&lt;BR /&gt;Blk2Plt theBlk = new Blk2Plt();&lt;BR /&gt;theBlk.BlockRef = blk;&lt;BR /&gt;theBlk.LayoutObj = lo;&lt;BR /&gt;BlockCol.Add(theBlk);&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;static void PlotBlockColToPDF(String BlockName, String PrinterName, String OutPath, String PaperSize)&lt;BR /&gt;{&lt;BR /&gt;Document doc = Application.DocumentManager.MdiActiveDocument;&lt;BR /&gt;Editor ed = doc.Editor;&lt;BR /&gt;Database db = doc.Database;&lt;BR /&gt;Transaction tr = db.TransactionManager.StartTransaction();&lt;BR /&gt;Object SysVarBackPlot = Application.GetSystemVariable("BACKGROUNDPLOT");&lt;BR /&gt;Application.SetSystemVariable("BACKGROUNDPLOT", 0);&lt;BR /&gt;using (tr)&lt;BR /&gt;{&lt;BR /&gt;List&amp;lt;Blk2Plt&amp;gt; BlocksToPlot = new List&amp;lt;Blk2Plt&amp;gt;();&lt;/P&gt;&lt;P&gt;GetBlocksToPlotCollection(db, ed, tr, BlockName, ref BlocksToPlot);//Getting collection of blocks&lt;/P&gt;&lt;P&gt;ed.WriteMessage("\nThe number of blocks found: " + BlocksToPlot.Count + "\n\n");&lt;BR /&gt;if (BlocksToPlot.Count &amp;lt; 1) return;&lt;/P&gt;&lt;P&gt;if (PlotFactory.ProcessPlotState == ProcessPlotState.NotPlotting)&lt;BR /&gt;{&lt;BR /&gt;PlotEngine pe = PlotFactory.CreatePublishEngine();&lt;BR /&gt;using (pe)&lt;BR /&gt;{&lt;BR /&gt;PlotProgressDialog ppd = new PlotProgressDialog(false, BlocksToPlot.Count, true);&lt;BR /&gt;using (ppd)&lt;BR /&gt;{&lt;BR /&gt;int numSheet = 1;&lt;BR /&gt;// Setting up the PlotProgress dialog&lt;BR /&gt;ppd.set_PlotMsgString(PlotMessageIndex.DialogTitle, "Custom Plot Progress");&lt;BR /&gt;ppd.set_PlotMsgString(PlotMessageIndex.CancelJobButtonMessage, "Cancel Job");&lt;BR /&gt;ppd.set_PlotMsgString(PlotMessageIndex.CancelSheetButtonMessage, "Cancel Sheet");&lt;BR /&gt;ppd.set_PlotMsgString(PlotMessageIndex.SheetSetProgressCaption, "Sheet Set Progress");&lt;BR /&gt;ppd.set_PlotMsgString(PlotMessageIndex.SheetProgressCaption, "Sheet Progress");&lt;BR /&gt;ppd.LowerPlotProgressRange = 0;&lt;BR /&gt;ppd.UpperPlotProgressRange = 100;&lt;BR /&gt;ppd.PlotProgressPos = 0;&lt;BR /&gt;ppd.OnBeginPlot();&lt;BR /&gt;ppd.IsVisible = true;&lt;/P&gt;&lt;P&gt;pe.BeginPlot(ppd, null);&lt;/P&gt;&lt;P&gt;var fileCounter = 0;&lt;BR /&gt;foreach (Blk2Plt gblk in BlocksToPlot)&lt;BR /&gt;{&lt;BR /&gt;// Starting new page&lt;BR /&gt;ppd.StatusMsgString = "Plotting block " + numSheet.ToString() + " of " + BlocksToPlot.Count.ToString();&lt;BR /&gt;ppd.OnBeginSheet();&lt;BR /&gt;ppd.LowerSheetProgressRange = 0;&lt;BR /&gt;ppd.UpperSheetProgressRange = 100;&lt;BR /&gt;ppd.SheetProgressPos = 0;&lt;/P&gt;&lt;P&gt;PlotInfoValidator piv = new PlotInfoValidator();&lt;BR /&gt;piv.MediaMatchingPolicy = MatchingPolicy.MatchEnabled;&lt;BR /&gt;PlotPageInfo ppi = new PlotPageInfo();&lt;BR /&gt;PlotInfo pi = new PlotInfo();&lt;BR /&gt;BlockReference blk = gblk.BlockRef;&lt;BR /&gt;Layout lo = gblk.LayoutObj;&lt;/P&gt;&lt;P&gt;// Getting coodinates of window to plot&lt;BR /&gt;Extents3d ext = (Extents3d)blk.Bounds;&lt;BR /&gt;Point3d first = ext.MaxPoint;&lt;BR /&gt;Point3d second = ext.MinPoint;&lt;BR /&gt;ResultBuffer rbFrom = new ResultBuffer(new TypedValue(5003, 1)),&lt;BR /&gt;rbTo = new ResultBuffer(new TypedValue(5003, 2));&lt;BR /&gt;double[] firres = new double[] { 0, 0, 0 };&lt;BR /&gt;double[] secres = new double[] { 0, 0, 0 };&lt;BR /&gt;acedTrans(first.ToArray(), rbFrom.UnmanagedObject, rbTo.UnmanagedObject, 0, firres);&lt;BR /&gt;acedTrans(second.ToArray(), rbFrom.UnmanagedObject, rbTo.UnmanagedObject, 0, secres);&lt;BR /&gt;Extents2d window = new Extents2d(firres[0], firres[1], secres[0], secres[1]);&lt;/P&gt;&lt;P&gt;// We need a PlotSettings object based on the layout settings which we then customize&lt;BR /&gt;PlotSettings ps = new PlotSettings(lo.ModelType);&lt;BR /&gt;LayoutManager.Current.CurrentLayout = lo.LayoutName;&lt;BR /&gt;pi.Layout = lo.Id;&lt;BR /&gt;ps.CopyFrom(lo);&lt;/P&gt;&lt;P&gt;// The PlotSettingsValidator helps create a valid PlotSettings object&lt;BR /&gt;PlotSettingsValidator psv = PlotSettingsValidator.Current;&lt;BR /&gt;psv.SetPlotWindowArea(ps, window);&lt;BR /&gt;psv.SetPlotType(ps, Autodesk.AutoCAD.DatabaseServices.PlotType.Window);&lt;BR /&gt;psv.SetUseStandardScale(ps, true);&lt;BR /&gt;psv.SetStdScaleType(ps, StdScaleType.ScaleToFit);&lt;BR /&gt;psv.SetPlotCentered(ps, true);&lt;BR /&gt;psv.SetPlotConfigurationName(ps, PrinterName, PaperSize);&lt;/P&gt;&lt;P&gt;pi.OverrideSettings = ps;&lt;BR /&gt;piv.Validate(pi);&lt;/P&gt;&lt;P&gt;// Create document for the first page&lt;BR /&gt;var filename = string.Concat(OutPath, "_", fileCounter.ToString());&lt;BR /&gt;if (numSheet == 1) pe.BeginDocument(pi, doc.Name, null, 1, true, filename);&lt;/P&gt;&lt;P&gt;// Plot the window&lt;BR /&gt;pe.BeginPage(ppi, pi, (numSheet == BlocksToPlot.Count), null);&lt;BR /&gt;pe.BeginGenerateGraphics(null);&lt;BR /&gt;ppd.SheetProgressPos = 50;&lt;BR /&gt;pe.EndGenerateGraphics(null);&lt;/P&gt;&lt;P&gt;// Finish the sheet&lt;BR /&gt;pe.EndPage(null);&lt;BR /&gt;ppd.SheetProgressPos = 100;&lt;BR /&gt;ppd.PlotProgressPos += Convert.ToInt32(100 / BlocksToPlot.Count);&lt;BR /&gt;ppd.OnEndSheet();&lt;BR /&gt;numSheet++;&lt;BR /&gt;}&lt;BR /&gt;// Finish the document and finish the plot&lt;BR /&gt;pe.EndDocument(null);&lt;BR /&gt;ppd.PlotProgressPos = 100;&lt;BR /&gt;ppd.OnEndPlot();&lt;BR /&gt;pe.EndPlot(null);&lt;BR /&gt;ed.WriteMessage("\nPlot completed successfully!\n\n");&lt;/P&gt;&lt;P&gt;fileCounter++;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;else&lt;BR /&gt;{&lt;BR /&gt;ed.WriteMessage("\nAnother plot is in progress.\n\n");&lt;BR /&gt;}&lt;BR /&gt;tr.Commit();&lt;BR /&gt;}&lt;BR /&gt;Application.SetSystemVariable("BACKGROUNDPLOT", SysVarBackPlot);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;[CommandMethod("pllot")]&lt;BR /&gt;static public void PlotToPdf()&lt;BR /&gt;{&lt;BR /&gt;try&lt;BR /&gt;{&lt;BR /&gt;var blockName = "kader";&lt;BR /&gt;//var printerName = "Microsoft Print to PDF";&lt;BR /&gt;//var paperSize = "A4";&lt;BR /&gt;var printerName = "DWG To PDF.pc3";&lt;BR /&gt;var paperSize = "ISO_A4_(210.00_x_297.00_MM)";&lt;BR /&gt;var outPath = @"C:\app\test\test";&lt;/P&gt;&lt;P&gt;PlotBlockColToPDF(blockName, printerName, outPath, paperSize);&lt;BR /&gt;}&lt;BR /&gt;catch (System.Exception ex)&lt;BR /&gt;{&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;/LI-SPOILER&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-SPOILER&gt;&amp;nbsp;&lt;/LI-SPOILER&gt;</description>
      <pubDate>Fri, 07 May 2021 15:10:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/batching-export-to-pdf-from-acad-problem-c/m-p/10298060#M54135</guid>
      <dc:creator>WauterM.</dc:creator>
      <dc:date>2021-05-07T15:10:12Z</dc:date>
    </item>
  </channel>
</rss>

