PowerShell脚本一键导出Visio源文件为指定dpi的TIF格式图片
# 需求背景一些书籍,文章排版经常要求导出各种清晰度TIF格式文件,看起来很简单,但是如果你的文章中引用了上百张图片,那么一个个打开Visio源文件再另存为,选择保存位置,格式,导出选项便成为了一项十分无聊的工作。其实Visio提供了Com接口以便编程交互操作,下面这个PowerShell脚本可以帮助你完成这个无聊的机械工作。
# PowerShell代码
```powershell
# 设置变量
$visioFilesPath = (Get-Location).Path# 当前运行目录
$outputPath = (Get-Location).Path # 当前目录
$dpi = 600 # 图片的 DPI
$outputFormat = "tif" #输出格式扩展名
# 创建输出目录
New-Item -ItemType Directory -Force -Path $outputPath | Out-Null
# 创建 Visio 应用程序对象
$visioApp = New-Object -ComObject Visio.Application
# 设置 Visio 应用程序的 DPI
$settings = $visioApp.Settings
$settings.SetRasterExportResolution(3,600,600,0)
$settings.SetRasterExportSize(2)
# 导出 Visio 文件的第一页为图片
$visioFiles = Get-ChildItem -Path $visioFilesPath -Filter "*.vsd*" -File
foreach ($file in $visioFiles) {
$document = $visioApp.Documents.Open($file.FullName)
$pages = $document.Pages
$page = $pages.Item(1)# 获取第一页
$page.Export("$outputPath\$($file.BaseName).$outputFormat")# 导出为图像文件
$document.Close()
}
# 退出 Visio 应用程序
$visioApp.Quit()
# 打印完成消息
Write-Host "图片导出完成!"
```
# 使用方法
对上述文件中设置变量部分进行适当修改后保存为.ps1文件,然后在Powershell中运行即可。
上述脚本在Visio LTSC 2021版本测试通过。 赞,优秀 优秀,感谢楼主分享 厉害,很实用的代码
页:
[1]