md转pdf批量源码


# 待安装环境pandoc~~操作本质是os.system调用命令行执行该程序 下载https://github.com/jgm/pandoc/releases
# pip install pywin32 pip install docx2pdf   pip install pandoc  pip install pandoc-xnos
# 调用了word环境 
# from docx2pdf import convert https://zhuanlan.zhihu.com/p/147498949
# convert("input.docx", "output.pdf") pip install markdown2pdf3 from markdown2pdf3 import * pip install pypandoc convert_markdown_to_pdf('test.md') #你的markdown文件路径
import os
from docx2pdf import convert
from markdown2pdf3 import *
import shutil
from win32com.client import constants, gencache


# markdown文件转换模块  markdown——>docx
def path(dir_path, func):
    """
    :param dir_path: 目标转换文件夹路径
    :param func: 功能 数字1:将markdown转换为doc  数字2:将doc转换为pdf 数字3: 将生成的pdf文件,移动到D:/filestorage目录下
    :return:
    """
    # os.walk输出当前目录下所有文件
    # x路径名, y文件夹名, z文件名
    for i in range(func):
        for x, y, z in os.walk(dir_path):
            for filename in z:
                # 分割文件名和后缀名
                suffix_name = os.path.splitext(filename)[1]
                prefix_name = os.path.splitext(filename)[0]
                filepath = x + '\\' + filename
                outfilepath = x + '\\' + prefix_name
                if i == 0:
                    if(True ==True):
                       continue;
                    if suffix_name == '.md':

                        print('pandoc ' + '"' + filepath + '"' + ' -o ' + x + '\\' + os.path.splitext(filename)[0] + '.docx')
                        # convert_markdown_to_pdf(filepath)#RuntimeError: Pandoc died with exitcode "47" during conversion: xelatex not found. Please select a different --pdf-engine or install xelatex
                        os.system('C:\\Users\\qssq5\\AppData\\Local\\Pandoc\\pandoc.exe ' + '"' + filepath + '"' + ' -o ' + '"' + x + '\\' + os.path.splitext(filename)[
                            0] + '.docx' + '"')
                        
                elif i == 1:
                    if suffix_name == '.docx':
                        if(outfilepath.find("android-")!=-1):
                            continue;
                        print("doc "+filepath+" 2 "+outfilepath+"       "+ os.path.splitext(filename)[0] + '.pdf')
                        # createPdf(filepath, outfilepath)
                        convert(filepath,outfilepath+".pdf")
                        os.remove(filepath)
                elif i == 2:
                    if suffix_name == '.pdf':
                        # 不存在该目录,则利用mkdir进行创建
                        if not os.path.exists(dir_path+ '\\pdf\\'):
                            os.mkdir(dir_path+ '\\pdf\\')
                        shutil.move(filepath,dir_path+ '\\pdf\\'+prefix_name+'.pdf')


# docx文件转换模块 docx——>pdf
def createPdf(wordpath, pdfpath):
    """
    :param wordpath: 目标word路径
    :param pdfpath: 生成pdf路径
    :return:
    """
    word = gencache.EnsureDispatch('Word.Application')
    doc = word.Documents.Open(wordpath, ReadOnly=1)
    doc.ExportAsFixedFormat(pdfpath,
                            constants.wdExportFormatPDF,
                            Item=constants.wdExportDocumentWithMarkup,
                            CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
    word.Quit(constants.wdDoNotSaveChanges)


if __name__ == '__main__':
    dirname = os.getcwd() #获取当前工作目录路径
    path(dirname, 2)


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容