C#Newbie - 使用AxVisioViewer ActiveX控件矢量打印Visio文档

时间:2018-05-02 10:13:59

标签: activex visio

我正在使用VS2013Express创建一个基于Windows窗体的应用程序,它将显示并最终打印Visio文档,而不是依赖基于浏览器的Visio Viewer。不用说这是一个非常具体的要求,所以真的不需要任何人告诉我使用MS Visio Viewer!

到目前为止,我可以打开Visio文档,使用AxVisioViewer.dll控件显示它。我甚至可以在某种程度上打印......

问题是我目前只能使用PrintFromScreen方法打印,该方法基本上捕获屏幕上显示的表单图像并创建它的Raster BitMap。

我将BitMap图像复制到表单上的隐藏面板(删除工具栏等),然后打印面板的内容。简单(ish)!

这里是link to the page我用来创建面板并打印图像。

我希望能够做的是调整大小(Vector not Raster以保持比例)并根据需要使图像居中,以确保文档正确打印。

1 个答案:

答案 0 :(得分:0)

您需要将绘图置于控件中心。 请检查以下链接。

https://msdn.microsoft.com/en-us/vba/visio-vba/articles/viewer-zoomtorect-method-visio-viewer

您也可以检查缩放和平移方法。