Windows系统中将markdown文件批量转化为PDF

这篇具有很好参考价值的文章主要介绍了Windows系统中将markdown文件批量转化为PDF。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需要将一个文件夹下的多个md文件转化为PDF

下载安装pandoc

官网下载地址:Pandoc ,下载位置如下图。
Windows系统中将markdown文件批量转化为PDF,windows,pdf,pandoc
下载后按照默认文件路径安装完成
使用everything软件查找pandoc.exe文件路径,如下图:
Windows系统中将markdown文件批量转化为PDF,windows,pdf,pandoc
安装完成之后就可以在cmd窗口或Windows power shell中使用pandoc指令了,例如:

pandoc test.md -o test.pdf #将test.md转化为test.pdf

通过bat脚本进行批量转化

编写bat脚本

bat脚本示例如下:

@echo off
setlocal enabledelayedexpansion

set "PANDOC_PATH=path\to\pandoc.exe"  //将"path\to\pandoc.exe"替换为你的Pandoc可执行文件的路径
set "INPUT_FOLDER=path\to\input\folder"  //将"path\to\input\folder"替换为你的Markdown文件所在的文件夹路径
set "OUTPUT_FOLDER=path\to\output\folder"  //将"path\to\output\folder"替换为你希望保存PDF文件的文件夹路径

for %%F in ("%INPUT_FOLDER%\*.md") do (
    set "INPUT_FILE=%%~F"
    set "OUTPUT_FILE=!OUTPUT_FOLDER!\%%~nF.pdf"
    "%PANDOC_PATH%" "!INPUT_FILE!" -o "!OUTPUT_FILE!"
)

echo Conversion completed.
pause

双击执行bat文件即可

报错

双击执行上面的bat文件会报错,报错信息如下:

Error producing PDF. ! Package inputenc Error: Unicode character 绗?
pandoc.exe: : hPutChar: permission denied (Permission denied)

解决

报错原因是markdown文件中有中文,为了支持中文,我们需要生成一个自己的tex模板。

将默认模板输出成template.tex。

pandoc -D latex > template.tex # -D: print-default-template

使用vscode打开生成的template.tex,在400多行的document之前加一行usepackage
Windows系统中将markdown文件批量转化为PDF,windows,pdf,pandoc
ctex包能够提供中文支持。

然后,打开的template.tex在vscode右下角会显示其编码格式,点击,选择Save With Encoding,选择UTF-8。不更换编码格式的话会导致pandoc不能正确读取。

最后需要在pandoc中指定模板和中文友好的引擎--template=template.tex --pdf-engine=xelatex文章来源地址https://www.toymoban.com/news/detail-539156.html

最终bat版本

@echo off
setlocal enabledelayedexpansion

set "PANDOC_PATH=path\to\pandoc.exe"  //将"path\to\pandoc.exe"替换为你的Pandoc可执行文件的路径
set "INPUT_FOLDER=path\to\input\folder"  //将"path\to\input\folder"替换为你的Markdown文件所在的文件夹路径
set "OUTPUT_FOLDER=path\to\output\folder"  //将"path\to\output\folder"替换为你希望保存PDF文件的文件夹路径

for %%F in ("%INPUT_FOLDER%\*.md") do (
    set "INPUT_FILE=%%~F"
    set "OUTPUT_FILE=!OUTPUT_FOLDER!\%%~nF.pdf"
    "%PANDOC_PATH%" "!INPUT_FILE!" -o "!OUTPUT_FILE!" --template=template.tex --pdf-engine=xelatex
)

echo Conversion completed.
pause

到了这里,关于Windows系统中将markdown文件批量转化为PDF的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#中将DataTable转化成ListT的方法解析

    在C#中,数据的操作是至关重要的一个方面,常常需要将数据从一个形式转换成另一个形式以满足我们的需求。其中,DataTable和List是常见的两种数据形式。DataTable是一种表格形式的数据类型,它以行和列的形式存储数据。List是一种集合类型,它可以存储任意类型的对象,并且

    2024年02月16日
    浏览(39)
  • 【沐风老师】如何在3dMax中将3D物体转化为样条线构成的对象?

    在3dMax中如何把三维物体转化为由样条线构成的对象?通常这样的场景会出现在科研绘图或一些艺术创作当中,下面给大家详细讲解一种3dmax三维物体转样条线的方法。 第一部分:用粒子填充3D对象: 1.创建一个三维对象(本例使用球体对象)和一个粒子流源对象。 2.选择粒子

    2024年02月10日
    浏览(48)
  • Java中将本服务器的文件拷贝到另一个服务器(Windows to Linux)

    在Java中,将文件从Windows服务器复制到Linux服务器,常用的方式是使用SSH进行安全的文件传输。Java有一个名为 JSch 的库,可以用于SSH连接和操作。 首先,你需要将 JSch 添加到你的项目依赖中。如果你使用的是Maven,你可以添加以下依赖: 然后,你可以使用以下代码将文件从

    2024年02月11日
    浏览(46)
  • MAC&Windows批量生成文件夹

    在excel中复制要生成的子文件夹名,且在名字后面加上空格(不加空格直接生成文件夹,文件夹名字后面会有问号)。并生成一个包含子文件夹名的txt文档,如name.txt。mac中的txt文件可以在“文本编辑”中的“格式”选项卡中的“制作纯文本”,再保存文件,就可以生成txt文件

    2024年02月12日
    浏览(44)
  • Windows下 批量重命名文件【bat实现】

    前言 一、Windows简单实现重命名 二、使用命令行和Excel实现重命名 在实际应用中,我们经常会遇到将指定文件夹下的文件重命名,以便程序读写。 本文介绍了两种方式,都是在Windows系统中自带的重命名方式。 第一步:进入需要重命名的文件夹中,选中所有需要重命名的文件

    2023年04月27日
    浏览(68)
  • Segment Anything中将生成的多个mask结果拼接在一起,可视化(批量处理)

    使用提供的amg.py生成测试图片mask 将多个mask拼接到一起,并改变每个png中白色区域像素值颜色 输出:

    2024年02月14日
    浏览(66)
  • windows环境下通过编写bat文件批量启动jar包

    在日常运维工作过程中,如果发生停电,那么就需要重新启动服务,在windows服务器上,也许会运行有多个jar文件,如果我们一个一个通过java -jar启动无疑感觉会很麻烦,下面给大家介绍一种快捷的方式:编写.bat文件批量启动jar文件。 一、将需要启动的jar包放到同一目录下

    2024年02月16日
    浏览(41)
  • windows系统本地批量预览svg图标

            目前前端使用图标大致分为两类: iconfont方式:通过引入在线或者下载到本地的iconfont.css类文件实现显示图标 第二类是封装图标组件,通过传入指定的svg名称快速生成图标         目前第二种是比较方便的,不需要频繁替换类文件,只需要下载svg到指定文件夹即可

    2023年04月21日
    浏览(42)
  • R语言批量将PDF中表格,转化为excel

    您好!以下是使用R语言将PDF中的表格批量转化为Excel的步骤: 1. 安装必要的包 您需要安装`pdftools`和`tabulizer`包。可以通过以下代码来安装它们: install.packages(\\\"pdftools\\\") install.packages(\\\"tabulizer\\\")   2. 设置工作目录 将包含PDF文件的文件夹设置为R的工作目录。可以使用以下代码来设

    2024年02月11日
    浏览(36)
  • 在VIVADO——SIMULATION仿真中将目标数据保存至文件

      相关代码展示,存储的目标变量为 PRNG_val ;

    2024年01月22日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包