WPF 使用 Pandoc 把 Markdown 转 Docx
原文:WPF 使用 Pandoc 把 Markdown 转 Docx 本文告诉大家如何通过 WPF 使用 Pandoc 把 Markdown 转 Docx 文件 在之前有文章使用 Pandoc 把 Markdown 转 Docx但是这里的方法需要每次都调用命令行,本文提供方法封装了命令行,有一个界面可以快速做转换 界面很简单,就不告诉大家如何做出这样的界面了,现在是来解决一些坑 从软件界面看到,可以让用户选择需要转换的文件,选择文件可以通过 OpenFileDialog 让用户选择文件 这里的 Filter 的写法请看openFileDialog的Filter属性设置 - 幕三少 - 博客园 此外还有 Word 文件需要保存,保存文件可以使用 SaveFileDialog 进行选择 这里 ShowDialog 传入的窗口是当前的窗口 为了方便用户,在用户输入需要转换的文件的时候就自动添加转换之后的 Word 文件 这里定义的 MVVM 是使用 lindexi.wpf.Framework 这个库,通过 Nuget 安装 定义了 ViewModel 类,这个类只有三个属性 通过 在转换完成之后,让用户的资源管理器打开 Word 所在的文件夹,选择转换的 Word 需要用到下面代码 我将软件放在 csdn 和 github 可以通过点击下面的网站下载 使用 Pandoc 把 Markdown 转 Docx-CSDN下载 软件使用方式 解压缩软件到一个文件夹,双击运行 PandocMarkdown2Docx.exe 然后填写需要转换的文件,点击转换 代码 https://github.com/lindexi/UWP/tree/master/wpf/PandocMarkdown2Docx 如果发现代码里面存在任何你觉得需要修改的,请在 github 上新建讨论 本文会经常更新,请阅读原文:
选择文件
var pick = new OpenFileDialog
{
Multiselect = false,
Filter = "Markdown文件|*.md"
};
if (pick.ShowDialog(this) is true)
{
// pick.FileName 是选择的文件
}
var pick = new SaveFileDialog()
{
Filter = "Word文件|*.docx"
};
if (pick.ShowDialog(this) is true)
{
// pick.FileName 是选择的文件
}
获取文件的文件夹
public string Markdown
{
get => _markdown;
set
{
_markdown = value;
try
{
Docx = Path.Combine(Path.GetDirectoryName(_markdown),
Path.GetFileNameWithoutExtension(_markdown) + ".docx");
}
catch (Exception e)
{
Debug.WriteLine(e);
}
OnPropertyChanged();
}
}
public string Docx
{
get => _docx;
set
{
if (value == _docx)
return;
_docx = value;
OnPropertyChanged();
}
}
public string Pandoc
{
get => _pandoc;
set
{
if (value == _pandoc)
return;
_pandoc = value;
OnPropertyChanged();
}
}
private string _markdown;
private string _docx;
private string _pandoc;
Path.GetDirectoryName(_markdown)
可以拿到对应的文件的文件夹使用资源管理器打开文件夹选择指定文件
var argument = "/select, \"" + 文件名 + "\"";
Process.Start("explorer.exe", argument);
https://lindexi.gitee.io/lindexi/post/WPF-%E4%BD%BF%E7%94%A8-Pandoc-%E6%8A%8A-Markdown-%E8%BD%AC-Docx.html
,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:
https://lindexi.gitee.io
),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请
与我联系
。
WPF 使用 Pandoc 把 Markdown 转 Docx的更多相关文章
- Pandoc将markdown转换为word
markdown转换为word的指令 直接将markdown转换为word pandoc -f markdown -t docx ./test.md -o test.docx 关于markdown转为 ...
- [原创]使用Pandoc实现Markdown文件转PDF文件
Markdown写法简单明快,我十分喜欢,以至于我最近都想使用Markdown快速的进行测试说明书的写作,但是考虑到这文档是要进行交接的,一个.md的文件在内部传输还是有不便,于是就想到了能不能把Ma ...
- 利用Pandoc将markdown文件转化为pdf
利用Pandoc将markdown文件转化为pdf 准备工作 安装pandoc 安装MiKTeX 将markdown文件转换为pdf 准备工作 安装pandoc Windows下安装pandoc很容易 ...
- 利用 Pandoc 将 Markdown 生成 Word/PDF 文件
Pandoc 是一个格式转化工具,可以用于各(luan)种(qi)各(ba)样(zao)的文件转换, 反正我是认不全官网上的那个图(傲娇脸), 之前一直使用它将 Markdown 文件转换成 Html ...
- windows使用Pandoc将Markdown转换为PDF文件
pandoc下载:https://github.com/jgm/pandoc/releases/tag/1.19.2.1 //windows下载msi文件 miktex下载:https://mikte ...
- 2018-10-23-WPF-使用-Pandoc-把-Markdown-转-Docx
title author date CreateTime categories WPF 使用 Pandoc 把 Markdown 转 Docx lindexi 2018-10-23 11:35:47 ...
- Linux(Ubuntu)使用日记------markdown文件与pdf,doc,docx文件的相互转化(pandoc使用)
安装: sudo apt-get install pandoc 使用: man pandoc 查看帮助文档 直接转换,命令如下: pandoc -f markdown -t docx ./test ...
- Mac ---- markdown 转 html\word\pdf
在Mac上,有一个软件,叫iA writer,是一个文字编辑器,可以进行md到word的转换,但它是收费的,RMB68元. 如果只是临时用一下,不想购买,你可以使用pandoc. 在mac下,使用方法 ...
- dotnet 从入门到放弃的 500 篇文章合集
本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...
随机推荐
- (转)Oracle EXP-00091解决方法
转自:http://blog.csdn.net/dracotianlong/article/details/8270136 EXP-: 正在导出有问题的统计信息. . . 正在导出表 WF_GENER ...
- 【Educational Codeforces Round 31 A】Book Reading
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 水模拟 [代码] #include <bits/stdc++.h> using namespace std; const ...
- springboot整合freemarker(转)
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- vc6.0 点编译时提示Cannot complile the file 'D:\souce-code\vc-workspace\对话框\MainFrm.h'; no compile tool is
问题描写叙述: vc6.0程序,点击编译时提示对话框,内容为: Cannot complile the file 'D:\souce-code\vc-workspace\对话框\MainFrm.h'; ...
- c++11 多线程 -- 基本使用
c++11 多线程 – 基本使用 前言:这篇文章仅针对没有使用过c++11线程库的童鞋来高速入门,也是自己的一个简单记录,内容比較基础. 1.线程的基本使用 2.相互排斥量 3.条件变量 4.原子变量 ...
- android 蓝牙各种UUID
ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}' BrowseGroupDesc ...
- 关于Altium Designer的BOM,元件清单
在生成BOM列表的时候,要记得调整BOM的表格的宽度,以免显示不全, 还有就是BOM列表一共有 comment栏 ,description栏,designator栏,footprint栏,libref ...
- stm32的ADC左右对齐
- springboot下静态资源的处理(转)
在SpringBoot中有默认的静态资源文件相关配置,需要通过如下源码跟踪: WebMvcAutoConfiguration-->configureResourceChain(method)-- ...
- Caffe 学习:Crop 层
在Fully Convolutional Networks(FCN)中,会用到Crop 层,他的主要作用是进行裁切.下面我们举一个例子来说明如何使用Crop 层. Caffe中的数据是以 blobs形 ...