/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
Pandoc(通用文档转换器)是一个万能文档格式转换器,几乎支持目前已知的所有文档格式之间的转换,包括html格式、word格式、电子书格式、pdf格式等等,并且该软件开源,项目github上托管,支持自定义格式转换,如果你有编程基础,可以使用lua编写。
Pandoc是一个Haskell库,用于将一种标记格式转换为另一种格式,也是一个使用该库的命令行工具。
Pandoc可以在许多标记和文字处理格式之间进行转换,包括但不限于各种类型的Markdown、HTML、LaTeX和Word docx。有关输入和输出格式的完整列表,请参阅下面的-from和-to选项。Pandoc还可以生成PDF输出:请参见下面的创建PDF。
Pandoc的增强版Markdown包括表格、定义列表、元数据块、脚注、引用、数学等语法。请看下面的Pandoc的Markdown。
Pandoc有一个模块化的设计:它由一组读取器和一组写入器组成,前者解析给定格式的文本,并生成文档的本机表示(抽象语法树或AST),后者将本机表示转换为目标格式。因此,添加一个输入或输出格式只需要添加一个阅读器或写入器即可。用户还可以运行自定义的pandoc过滤器来修改中间AST。
由于pandoc对文档的中间表示方式不如它所转换的许多格式之间的表现力强,因此不应该期望每一种格式和每一种其他格式之间都能实现完美的转换。Pandoc试图保留文档的结构元素,但不保留格式细节,如边距大小。而且有些文档元素,如复杂的表格,可能不适合pandoc的简单文档模型。虽然从pandoc的Markdown到所有格式的转换都力求完美,但从比pandoc的Markdown更有表现力的格式转换可能会有损失。
如果没有指定输入文件,pandoc从标准输入读取。
若指定有多个输入文件,可以以空格分割。
默认输出是标准输出,可以使用-o选项输出到指定的文件中。
默认情况下,pandoc只产生文件片段,不是一个包含头尾的完整文件,如果需要产生一个独立的文件,使用-s或--standalone选项。比如生成HTML文件。
有时候输入文件可能是一个URI,此时pandoc可以通过http获取内容。
如果指定多个输入文件,pandoc也可以将多个文件合并转换成一个文件。当然,输入文件像EPUB、odt和docx这种,是不支持的
Pandoc 程序的命令使用方式为:
pandoc
其中??为输入的内容,其输入即可以来自文件,也可以来自标准输入甚至网页链接。而??为参数选项。主要的参数选项有:
-f、-r:指定输入文件格式,默认为 Markdown;
-t、-w:指定输出文件格式,默认为 HTML;
-o:指定输出文件,该项缺省时,将输出到标准输出;
--highlight-style
输入格式:
Markdown、格式轻量级标记语言、HTML、ReStructuredText、LaTeX、OPML、Org-mode、DocBook、Office Open XML (Microsoft Word .docx)
输出格式:
Office Open XML(Microsoft Word .docx)、OpenDocument、HTML、Wiki markup、Adobe InDesign ICML文稿 ( Adobe InCopy文稿交换格式)、web-based slideshows、电子书(Epub格式等)、OPML多、种 TeX (以及 PDF).