Visio文件另存为其他几种格式的处理,以及另存为Web文件等相关操作。

1、Visio导出为PDF格式

在一般情况下,PDF格式是较为常用的内容格式,因此Visio文档(Vsd格式)导出为PDF也是很常见的一件事情,Office文档本身很好支持PDF格式的输出,因此对于Visio来说,也不是什么难事,基本上利用它现有的API就可以导出为PDF格式了。

在Visio的Document文档对象中,就有ExportAsFixedFormat这个方法,可以导出为PDF或者XPS的格式的,这个格式有很多参数,用来确定导出那页,以及格式等设置。

expression.ExportAsFixedFormat(FixedFormatOutputFileNameIntentPrintRangeFromPageToPageColorAsBlackIncludeBackgroundIncludeDocumentPropertiesIncludeStructureTagsUseISO19005_1FixedFormatExtClass)

同时,这些参数的相关说明如下所示。



Name

必需的/可选

数据类型

描述

FixedFormat

必需 Required

VisFixedFormatTypes

导出文件格式类型。 看到评论可能值。

OutputFileName

可选 Optional

字符串

文件的名称和路径输出,包含在引号。

Intent

必需

VisDocExIntent

输出质量。 看到评论可能值。

PrintRange

必需

VisPrintOutRange

要导出的文档页面的范围。 看到评论可能值。

FromPage

可选

如果 PrintRange 是 visPrintFromTo 第一页,出口范围。 默认是1,这表明第一页的图。

ToPage

可选

如果 PrintRange 是 visPrintFromTo 最后一页,出口范围。 默认是1,这表明的最后一页图纸。

ColorAsBlack

可选

布尔

 True呈现的颜色为黑色,以确保所有导出的图纸形状是可见的。 false呈现颜色正常。 默认值是  false 

IncludeBackground

可选

布尔

导出的文件是否包括背景页。 默认值是  True 

IncludeDocumentProperties

可选

布尔

导出的文件中是否包括文档属性。 默认值是  True 

IncludeStructureTags

可选

布尔

是否包括文档结构标签来改善文档可访问性。 默认值是 True.

UseISO19005_1

Optional

Boolean

产生的文件是否符合、服从 ISO 19005-1 (PDF/A)。默认为 false.

FixedFormatExtClass

Optional

[UNKNOWN]

一个指针指向一个类实现用于创建自定义固定输出的目的,IMsoDocExporter 接口。默认值是空指针。 



 我们在代码里面导出PDF如下所示。



1  SaveFileDialog dlg = new SaveFileDialog();
 2             dlg.FileName = "";
 3             dlg.Filter = "Pdf文件 (*.pdf)|*.pdf|AutoCAD 绘图 (*.dwg)|*.dwg|所有文件(*.*)|*.*";
 4             dlg.FilterIndex = 1;
 5             if (dlg.ShowDialog() == DialogResult.OK)
 6             {
 7                 if (dlg.FileName.Trim() != string.Empty)
 8                 {
 9                     VisDocument.ExportAsFixedFormat(Visio.VisFixedFormatTypes.visFixedFormatPDF,
10                         dlg.FileName,
11                         Visio.VisDocExIntent.visDocExIntentScreen,
12                         Visio.VisPrintOutRange.visPrintAll,
13                         1, VisDocument.Pages.Count, false, true, true, true, true,
14                         System.Reflection.Missing.Value);
15                 }
16             }



 通过指定PDF格式,以及导出文件名,以及起止页码等信息后,就可以顺利导出对应的Visio文档