我有以下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
命令或同一行的其他地方做错了什么。
1条答案
按热度按时间x7yiwoj41#
我找到了一个简单的解决方案。下面的命令将把剪贴板中的markdown文本转换为HTML格式的文本,并将剪贴板设置为HTML格式。
字符串
然后我可以将剪贴板中的HTML文本粘贴到我的PowerPoint演示文稿中。
一个警告是项目符号不能很好地呈现,但总体上得到了想要的结果。它也适用于剪贴板中存在的任何多行文本。