吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1297|回复: 3
收起左侧

[其他原创] PowerShell脚本一键导出Visio源文件为指定dpi的TIF格式图片

[复制链接]
月夜克星 发表于 2023-8-26 18:05

需求背景

一些书籍,文章排版经常要求导出各种清晰度TIF格式文件,看起来很简单,但是如果你的文章中引用了上百张图片,那么一个个打开Visio源文件再另存为,选择保存位置,格式,导出选项便成为了一项十分无聊的工作。其实Visio提供了Com接口以便编程交互操作,下面这个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版本测试通过。

免费评分

参与人数 2吾爱币 +6 热心值 +2 收起 理由
Guangnianyinan + 1 + 1 我很赞同!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Guangnianyinan 发表于 2023-8-28 07:18
赞,优秀
bestwars 发表于 2023-9-8 19:13
jike0805 发表于 2023-9-20 21:27
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表