Visio的二次开发中,我们往往需要打印文档,这也是正常不过的需求,Visio的Document对象提供了下面几种打印模式:
visPage.Document.PrintOut(VisPrintOutRange.visPrintAll, 1, 1, false, "", false, visPage.Name, 1, false, false);
visPage.Document.PrintOut(VisPrintOutRange.visPrintCurrentView, 1, 1, false, "", false, visPage.Name, 1, false, false);
visPage.Document.PrintOut(VisPrintOutRange.visPrintSelection, 1, 1, false, "", false, visPage.Name, 1, false, false);
Rectangle srcRect = new Rectangle(dblLeft, dblTop, this.visioImage.Width /2, this.visioImage.Height/2);
e.Graphics.DrawImage(this.visioImage, destRetangle, srcRect, GraphicsUnit.Pixel);
public class AxHostConverter : AxHost

{

private AxHostConverter() : base("")
{ }
static public Image ictureDispToImage(stdole.IPictureDisp pictureDisp)

{
return GetPictureFromIPicture(pictureDisp);
}
}
pictureBox1.Image = AxHostConverter.PictureDispToImage(this.visPage.Picture);
dlg.Document = PrintDocument;
dlg.PageSettings.Margins = PrinterUnitConvert.Convert(dlg.PageSettings.Margins,
PrinterUnit.ThousandthsOfAnInch, PrinterUnit.HundredthsOfAMillimeter);

if (dlg.ShowDialog() == DialogResult.OK)

{
}
else

{
dlg.PageSettings.Margins = PrinterUnitConvert.Convert(dlg.PageSettings.Margins,
PrinterUnit.HundredthsOfAMillimeter, PrinterUnit.ThousandthsOfAnInch);
}
最新相关文章
发表评论