找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 122|回复: 0

C# net autocad批量打印

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-5-26 08:47:51 | 显示全部楼层 |阅读模式
  1. private void btn采用outpdf采用Click(object sender, EventArgs e)
  2.         {
  3.             AcadDocument doc = null;
  4.             string destPath = string.Empty;
  5.             foreach (var file in fileslist)
  6.             {
  7.                 doc = 采用app.Documents.Open(file, true);
  8.                 doc.SetVariable("sdi", 0);
  9.                 doc.SetVariable("Filedia", 0);
  10.                 doc.SetVariable("BACKGROUNDPLOT", 0);
  11.                 doc.ActiveLayout.ConfigName = "DWG To PDF.pc3";
  12.                 doc.ActiveLayout.PlotWithLineweights = true; //线宽比例
  13.                 doc.ActiveLayout.PlotWithPlotStyles = true; //使用样式
  14.                 //设置打印图纸大小
  15.                 string[] cMNameLst = (string[])doc.ActiveLayout.GetCanonicalMediaNames();
  16.                 foreach (string name in cMNameLst)
  17.                 {
  18.                     //查找纸张大小
  19.                     //if (name.Contains("2000.00") && name.Contains("2000.00"))
  20.                     //{
  21.                     //    doc.ActiveLayout.CanonicalMediaName = name;
  22.                     //    break;
  23.                     //}
  24.                 }
  25.                 doc.ActiveLayout.PaperUnits = AcPlotPaperUnits.acMillimeters;
  26.                 doc.ActiveLayout.StyleSheet = "monochrome.ctb";
  27.                 doc.ActiveLayout.CanonicalMediaName = "ISO采用A3采用(420.00采用x采用297.00采用MM)";
  28.                 doc.ActiveLayout.PlotType = AcPlotType.acExtents;
  29.                 doc.ActiveLayout.CenterPlot = true; // 居中
  30.               
  31.                 doc.ActiveLayout.PlotRotation = AcPlotRotation.ac0degrees;//0 横向,90 纵向,180反向,
  32.                 doc.ActiveLayout.UseStandardScale = true; // 使用标准比例
  33.                //    doc.ActiveLayout.StandardScale = AcPlotScale.acScaleToFit; // 自动缩放适应
  34.                doc.ActiveLayout.StandardScale = AcPlotScale.ac1采用1;   //1:1打印  
  35.                 doc.Plot.QuietErrorMode = true;
  36.                 destPath = Path.Combine(tmpPath, Path.GetFileNameWithoutExtension(file) + ".pdf");
  37.                 doc.Plot.PlotToFile(destPath);
  38.                 if (doc != null) doc.Close(false);
  39.             }           
  40.         }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-27 06:32 , Processed in 0.129453 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表