乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 68|回复: 2

大神们帮帮忙,这个打印代码运行太奇怪了

[复制链接]

156

主题

506

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1130
发表于 2016-5-11 19:32:00 | 显示全部楼层 |阅读模式
public static void 图片()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            using (Transaction tr = db.TransactionManager.StartTransaction())
            {
                LayoutManager lm = LayoutManager.Current;
                Layout lo = tr.GetObject(lm.GetLayoutId(lm.CurrentLayout), OpenMode.ForRead) as Layout;
                PlotInfo pi = new PlotInfo();
                pi.Layout = lo.ObjectId;
                PlotSettings ps = new PlotSettings(lo.ModelType);
                ps.CopyFrom(lo);
                PlotSettingsValidator pv = PlotSettingsValidator.Current;
                pv.SetPlotType(ps, Autodesk..DatabaseServices.PlotType.Extents);
                pv.SetUseStandardScale(ps, true);
                pv.SetStdScaleType(ps, StdScaleType.ScaleToFit);
                pv.SetPlotCentered(ps, true);
                pv.SetPlotConfigurationName(ps, "DWF6 ePlot.pc3", "ANSI_A_(8.50_X_11.00_Inches)");
                pi.OverrideSettings = ps;
                PlotInfoValidator piv = new PlotInfoValidator();
                piv.MediaMatchingPolicy = MatchingPolicy.MatchEnabled;
                piv.Validate(pi);
                if (PlotFactory.ProcessPlotState == ProcessPlotState.NotPlotting)
                {
                    using (PlotEngine pe = PlotFactory.CreatePublishEngine())
                    {
                        PlotProgressDialog ppd = new PlotProgressDialog(false, 1, true);
                        using (ppd)
                        {
                            ppd.set_PlotMsgString(PlotMessageIndex.DialogTitle, "打印进度");
                            ppd.set_PlotMsgString(PlotMessageIndex.CancelJobButtonMessage, "取消打印");
                            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);
                            pe.BeginDocument(pi, doc.Name, null, 1, true, "f:\\abc");
                            ppd.set_PlotMsgString(PlotMessageIndex.Status, "plotting" + doc.Name + "-" + lo.LayoutName);
                            ppd.OnBeginSheet();
                            ppd.LowerSheetProgressRange = 0;
                            ppd.UpperSheetProgressRange = 100;
                            ppd.SheetProgressPos = 0;
                            PlotPageInfo ppi = new PlotPageInfo();
                            pe.BeginPage(ppi, pi, true, null);
                            pe.BeginGenerateGraphics(null);
                            pe.EndGenerateGraphics(null);
                            pe.EndPage(null);
                            ppd.SheetProgressPos = 100;
                            ppd.OnEndSheet();
                            pe.EndDocument(null);
                            ppd.PlotProgressPos = 100;
                            ppd.OnEndPlot();
                            pe.EndPlot(null);
                        }
                    }
                }
                tr.Commit();
            }
            Application.ShowAlertDialog("运行完毕");
        }
以上是我打印作业的源码,基本是照抄.net开发指南的,可为什么执行代码后在f盘并没有找到生成的图片。尤为奇怪的是我想调查对话框时,提示“已经有一个打印或发布作业在后台处理……”字样。实在快崩溃了,帮帮忙啊高手!
回复

使用道具 举报

156

主题

506

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1130
发表于 2016-5-12 08:31:00 | 显示全部楼层
自己顶一下。我这是vs2010配合cad2010开发的。非狐版主呢?帮下忙啊
回复

使用道具 举报

0

主题

26

帖子

10

银币

初来乍到

Rank: 1

铜币
22
发表于 2017-12-10 21:02:00 | 显示全部楼层
设置前台打印
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 04:28 , Processed in 0.141639 second(s), 58 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表