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

dpiehjr4  于 7个月前  发布在  Windows
关注(0)|答案(1)|浏览(225)

我有以下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
1.在Word中打开docx文件
1.将内容复制粘贴到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命令或同一行的其他地方做错了什么。

x7yiwoj4

x7yiwoj41#

我找到了一个简单的解决方案。下面的命令将把剪贴板中的markdown文本转换为HTML格式的文本,并将剪贴板设置为HTML格式。

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

字符串
然后我可以将剪贴板中的HTML文本粘贴到我的PowerPoint演示文稿中。
一个警告是项目符号不能很好地呈现,但总体上得到了想要的结果。它也适用于剪贴板中存在的任何多行文本。

相关问题