将 Markdown 文本复制并粘贴到 PowerPoint 演示文稿中格式正确的文本

问题描述 投票:0回答:1

我有以下 Markdown 格式的文本。

Hello, check out [this link](https://learn.microsoft.com/en-us/powershell/).
Here is a list of things
- Eggs
- Tomatoes
- Ship

我想将其复制并粘贴到 PowerPoint 演示文稿中,以便链接和未编号列表的格式正确为目标 PowerPoint 样式。这将是预期的结果。 https://i.stack.imgur.com/X8oFY.png

但是,通过简单的复制粘贴,我得到了这样的结果。 https://i.stack.imgur.com/9Kktt.png

如何在 PowerPoint 中将 Markdown 转换为格式化文本?

目前,我正在使用以下方式来实现此目的:

  1. 使用 pandoc 将 markdown 文件转换为
    .docx
  2. 在 Word 中打开
    docx
    文件
  3. 将内容复制粘贴到 Powerpoint。

这非常有效,但这是一项乏味的工作。有什么办法可以自动化这个吗?

例如,我想将一些文本从 Markdown 文本转换为剪贴板中的格式化文本,我可以将其粘贴到 PowerPoint 演示文稿中我想要的位置。

我尝试在 Powershell 中使用以下一行:

pandoc -i myfile.md -t docx -o - | Set-Clipboard

但是当我粘贴到 Powerpoint 中时,我得到一个奇怪的结果,如下所示。 https://i.stack.imgur.com/zWYGl.png

感谢您的想法和帮助!

2023-11-01 编辑: 我使用 Powershell 和 Pandoc 搜索解决方案,最终得到了以下几乎可以工作的 powershell 脚本。

$tempfile = ".\deleteme.rtf"
Get-Clipboard | pandoc -t rtf -o $tempfile
Add-Type -AssemblyName "System.Windows.Forms"|Out-Null
[Windows.Forms.Clipboard]::SetDataObject([Windows.Forms.DataObject]::new([Windows.Forms.DataFormats]::Rtf,(Get-Content -Raw $tempfile)))
Remove-Item $tempfile

仅当复制的 Markdown 文本超过一行时,它不会按预期工作:它只会转换第一行。然而

tempfile
看起来不错,所以我想知道我在
Get-Content
命令或同一行的其他地方做错了什么。

windows markdown powerpoint copy-paste
1个回答
0
投票

我找到了解决问题的简单方法。以下命令将剪贴板中的 Markdown 文本转换为 HTML 格式的文本并用它设置剪贴板。

Get-Clipboard | pandoc -t html -o - | Set-Clipboard -AsHtml

需要注意的是,项目符号的渲染效果不佳,但获得了总体想要的结果。它也适用于剪贴板中存在的任何多行文本。

© www.soinside.com 2019 - 2024. All rights reserved.