我有以下 Markdown 格式的文本。
Hello, check out [this link](https://learn.microsoft.com/en-us/powershell/).
Here is a list of things
- Eggs
- Tomatoes
- Ship
我想将其复制并粘贴到 PowerPoint 演示文稿中,以便链接和未编号列表的格式正确为目标 PowerPoint 样式。这将是预期的结果。
如何在 PowerPoint 中将 Markdown 转换为格式化文本?
目前,我正在使用以下方式来实现此目的:
.docx
。docx
文件这非常有效,但这是一项乏味的工作。有什么办法可以自动化这个吗?
例如,我想将一些文本从 Markdown 文本转换为剪贴板中的格式化文本,我可以将其粘贴到 PowerPoint 演示文稿中我想要的位置。
我尝试在 Powershell 中使用以下一行:
pandoc -i myfile.md -t docx -o - | Set-Clipboard
但是当我粘贴到 Powerpoint 中时,我得到一个奇怪的结果,如下所示。
感谢您的想法和帮助!
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
命令或同一行的其他地方做错了什么。
我找到了解决问题的简单方法。以下命令将剪贴板中的 Markdown 文本转换为 HTML 格式的文本并用它设置剪贴板。
Get-Clipboard | pandoc -t html -o - | Set-Clipboard -AsHtml
需要注意的是,项目符号的渲染效果不佳,但获得了总体想要的结果。它也适用于剪贴板中存在的任何多行文本。