打开 Word 文档并使用 PowerShell 指定编码

2024-02-20

我试图告诉 PowerShell 打开一个文本文件并选择某个编码选项。默认情况下,在 Word 中手动打开此文本文件时,它会尝试使用日语编码打开它,因此无法正确显示某些字符。

我尝试了很多不同的方法,但没有任何效果,所以我完全陷入困境。

该文本文件以及其他文件每天都需要转换为 PDF。

我当前的脚本如下:

$wdFormatPDF = 17

$word = New-Object -ComObject Word.Application
$word.Visible = $true

$folderpath = "C:\Users\smirabile\Downloads\report-testing-destination\*"
$fileTypes  = "accepted.spl"

Get-ChildItem -Path $folderpath -Include $fileTypes | ForEach-Object {
    $path = ($_.FullName).Substring(0, ($_.FullName).LastIndexOf("."))

    $doc = $word.Documents.Open($_.FullName)

    $Word.Selection.PageSetup.Orientation = 1
    $Word.Selection.PageSetup.LeftMargin  = 20
    $Word.Selection.PageSetup.RightMargin = 20
    $doc.Select()
    $Word.Selection.Font.Size = 9
    $doc.SaveAs([ref]$path, [ref]$wdFormatPDF)

    $doc.Close()
}

$word.Quit()
Stop-Process -Name WINWORD -Force

如有疑问,请阅读文档 https://msdn.microsoft.com/en-us/library/office/ff835182.aspx:

Syntax

expression.Open(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles,
    PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument,
    WritePasswordTemplate, Format, Encoding, Visible, OpenConflictDocument,
    OpenAndRepair, DocumentDirection, NoEncodingDialog)

[…]
Encoding|可选|Variant|查看保存的文档时 Microsoft Word 使用的文档编码(代码页或字符集)。可以是任何有效的Mso编码 https://msdn.microsoft.com/en-us/library/aa432511.aspx持续的。 [...]默认值是系统代码页。

Use [Type]::Missing https://stackoverflow.com/a/17484660/1630171对于您想要使用其默认值的参数。

示例(使用 iso-8859-15 编码):

$def = [Type]::Missing
$doc = $word.Documents.Open(
         $_.FullName, $def, $def, $def, $def, $def, $def, $def, $def, $def, 28605
       )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打开 Word 文档并使用 PowerShell 指定编码 的相关文章

随机推荐

  • bash 迄今为止的字符串

    bash 中是否有机会将字符串转换为日期 例如 我有一个时间格式 Y m dS H M S 此类字符串的一个示例是 2009 06 24S12 34 56 我需要在 bash 中将此字符串转换为日期 unix 时间戳 我怎样才能做到这一点
  • html中的自动完成css类在vs代码中不起作用

    html 中 css 类名称的自动补全功能停止工作 我尝试了很多扩展 但没有任何效果 HTML 中 CSS 类名称的 IntelliSense HTML CSS 支持 另外 基尔是我的settings json workbench colo
  • Angular 2 Form 异步验证 ajax 在每次按键时调用

    我正在玩 Angular 2 表单异步验证 一切都工作正常 但后来我意识到在输入字段内的每个按键上都会对服务器进行 ajax 调用 这对服务器不利 我尝试了很多方法但没有任何效果 所以请帮助我如何处理这个问题 form FormGroup
  • 循环类似命名的 UI 元素 - 也许通过从其名称获取变量?

    我使用 Interface Builder 向视图添加了许多标签 我还有一个要显示的值数组 有没有比使用此代码更好的方法来设置标签 lblTotal1 text NSString stringWithFormat i Seconds int
  • MongoDB - 去除字段中的非数字字符

    我有一个电话号码字段 其中使用了各种随机分隔符 例如 932 555 1515 951 555 1255 952 555 1414 我想遍历已经存在的每个字段并删除非数字字符 那可能吗 无论它是存储为整数还是数字字符串 我都不在乎 它将仅用
  • 从用户输入中读取数学表达式

    我需要能够读取用户输入并将其分解以供以后使用 用户可以输入整数或小数和运算 但我不知道如何读取它 用户输入的示例是4 8 3 12 or 3 2 3 or 12 16 4 or 2 3 64 96 现在我正在使用这样的东西 public c
  • 在 Android AudioTrack 中使用缓冲区

    我试图弄清楚如何使用缓冲区音轨 http developer android com reference android media AudioTrack html有效地传输音乐 我知道您可以使用以下命令对音频进行排队write http
  • Mercurial - 比较本地和远程存储库?

    在Git中 有这样的命令 git remote show
  • 从数据集中完全删除一行

    我的网格视图上有一个删除按钮 单击删除按钮时 该行应该是 完全从会话中删除 我目前正在做以下事情 protected void gvMainLog RowCommand Object sender GridViewCommandEventA
  • MESI协议中的L3$角色是什么

    我想了解intel Broadwell中MESI的更多细节 假设一个cpu插槽有6个核心 core 0 到 core 5 他们每个人都有自己的 L1 和 L2 并共享 L3 共享内存中有一个var X x位于cache line 称为 XC
  • C `clock()` 函数只返回一个零

    The C clock 函数只返回一个零 我尝试使用不同的类型 但没有任何改进 这是一种高精度测量时间的好方法吗 include
  • 正则表达式:匹配第一个下划线之前的所有内容以及之后的所有内容

    我有这样的表情 test abc HelloWorld there could be more here 我想要一个采用第一个单词的正则表达式before第一个下划线 所以得到 test I tried A Za z 1 但这没有用 然后我
  • 如何全局安装ESlint?

    我正在尝试安装 ESlint 以将其与 Sublime Text 2 一起用于我的所有本地项目 配置文档 https eslint org docs user guide getting started global installatio
  • 重写泛型类的方法时发生名称冲突

    我试图理解使用以下代码得到的名称冲突错误 import java util import javax swing class Foo
  • 删除截断行末尾的字形

    当在启用了截断行的终端中使用 Emacs 23 时 Emacs 会在每行末尾添加一个美元符号 指示文本继续超出屏幕边缘 这让我很困扰 我想禁用此功能或以某种方式隐藏美元符号 这可能吗 如果是的话会怎样做 尝试用这个 set display
  • 2D 基本运动 UNITY

    目前我的角色在键盘上完美运行 但是当我通过 3 个 UI 按钮将你的动作转换为触摸时 我也尝试过 UI 图像 但成功了 我没有成功 它基本上是向右 向左 跳跃 应该如何做才能使其遵循以下说明 当用户按下方向键时 角色不会停止行走 直到用户释
  • C/C++编译器反馈优化

    有没有人看到过不同程序的真实世界数字 这些程序使用 C C 编译器提供的反馈优化来支持分支预测 缓存预加载功能等 我搜索了它 令人惊讶的是 即使是流行的解释器开发小组似乎也没有检查过效果 将 ruby python php 等性能提高 10
  • Kafka-node突然从偏移量0开始消费

    有时 kafka node 消费者从偏移量 0 开始消费 而其默认行为是仅消费较新的消息 然后它不会切换回默认行为 您知道如何解决这个问题以及会发生什么以及其行为突然发生变化吗 代码非常简单 并且无需更改代码即可完成此操作 var kafk
  • 实体框架 4 的存储库模式

    我曾经使用带有存储库接口的 NHibernate 在 EF 中使用此模式的正确方法是什么 我如何实现这个存储库接口RepositoryBase
  • 打开 Word 文档并使用 PowerShell 指定编码

    我试图告诉 PowerShell 打开一个文本文件并选择某个编码选项 默认情况下 在 Word 中手动打开此文本文件时 它会尝试使用日语编码打开它 因此无法正确显示某些字符 我尝试了很多不同的方法 但没有任何效果 所以我完全陷入困境 该文本