C# net autocad批量打印(图纸设置,打印比例设置)

3 篇文章 3 订阅

  private void btn_outpdf_Click(object sender, EventArgs e)
        {
            AcadDocument doc = null;
            string destPath = string.Empty;
            foreach (var file in fileslist)
            {
                doc = _app.Documents.Open(file, true);
                doc.SetVariable("sdi", 0);
                doc.SetVariable("Filedia", 0);
                doc.SetVariable("BACKGROUNDPLOT", 0);
                doc.ActiveLayout.ConfigName = "DWG To PDF.pc3";
                doc.ActiveLayout.PlotWithLineweights = true; //线宽比例
                doc.ActiveLayout.PlotWithPlotStyles = true; //使用样式
                //设置打印图纸大小
                string[] cMNameLst = (string[])doc.ActiveLayout.GetCanonicalMediaNames();
                foreach (string name in cMNameLst)
                {
                    //查找纸张大小
                    //if (name.Contains("2000.00") && name.Contains("2000.00"))
                    //{
                    //    doc.ActiveLayout.CanonicalMediaName = name;
                    //    break;
                    //}
                }
                doc.ActiveLayout.PaperUnits = AcPlotPaperUnits.acMillimeters;
                doc.ActiveLayout.StyleSheet = "monochrome.ctb";
                doc.ActiveLayout.CanonicalMediaName = "ISO_A3_(420.00_x_297.00_MM)";
                doc.ActiveLayout.PlotType = AcPlotType.acExtents;
                doc.ActiveLayout.CenterPlot = true; // 居中
              
                doc.ActiveLayout.PlotRotation = AcPlotRotation.ac0degrees;//0 横向,90 纵向,180反向,
                doc.ActiveLayout.UseStandardScale = true; // 使用标准比例
               //    doc.ActiveLayout.StandardScale = AcPlotScale.acScaleToFit; // 自动缩放适应
               doc.ActiveLayout.StandardScale = AcPlotScale.ac1_1;   //1:1打印  
                doc.Plot.QuietErrorMode = true;
                destPath = Path.Combine(tmpPath, Path.GetFileNameWithoutExtension(file) + ".pdf");
                doc.Plot.PlotToFile(destPath);
                if (doc != null) doc.Close(false);
            }           
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值