golang md en mot
Pendant le processus de développement de logiciels, nous devons souvent convertir du texte ou un langage de balisage dans d'autres formats, tels que la conversion de texte md en documents Word, afin de mieux partager ou afficher les résultats de notre travail avec nos clients ou partenaires. Dans cet article, nous présenterons comment utiliser Golang pour convertir du texte md en document Word via la bibliothèque pandoc.
1. Présentation de Pandoc
Pandoc est un convertisseur de texte gratuit et open source qui peut convertir des fichiers texte et en langage de balisage dans une variété de formats, tels que des documents HTML, EPUB, LaTeX, PDF et Microsoft Word. Pandoc prend en charge presque tous les langages de balisage, notamment Markdown, reStructuredText, HTML, LaTeX, DocBook, MediaWiki, TWiki et Textile. Pandoc prend en charge les styles et modèles personnalisés et propose de nombreuses options pour contrôler la sortie.
2. Installez Pandoc et Go
Avant de commencer à utiliser Pandoc et Go, nous devons d'abord les installer. Les étapes pour installer Pandoc sont les suivantes :
- Visitez https://github.com/jgm/pandoc/releases et téléchargez la dernière version pour votre système d'exploitation.
- Décompressez le fichier téléchargé en fonction de votre système d'exploitation.
- Ajoutez le fichier binaire Pandoc à la variable d'environnement PATH du système afin que Pandoc puisse être exécuté à partir de n'importe quel emplacement.
Pour installer Go :
- Visitez https://golang.org/dl/ et téléchargez la dernière version pour votre système d'exploitation.
- Installez le programme d'installation Go téléchargé et suivez les instructions pour terminer le processus d'installation.
- Configurez la variable d'environnement PATH de votre système afin que les commandes Go soient accessibles de n'importe où.
3. Installez pandocfilters
pandocfilters est une bibliothèque Python qui vous permet d'écrire des filtres Pandoc. Dans Golang, nous pouvons utiliser Python comme filtre Pandoc et l'appeler via la commande pandoc pour terminer la conversion de texte. Les étapes pour installer les pandocfilters sont les suivantes :
- Ouvrez une fenêtre de terminal ou de ligne de commande et entrez la commande suivante :
pip3 install pandocfilters
- Attendez la fin de l'installation des pandocfilters.
4. Écrivez un programme Golang
Nous utiliserons Golang pour écrire un programme permettant de convertir du texte md en document Word. Le programme est principalement divisé en deux parties : le filtre Pandoc et le programme Golang.
- Pandoc Filter
Saisissez la commande suivante dans un terminal ou une fenêtre de ligne de commande :
nano pandocfilters/md_to_docx.py
Collez ensuite le code Python suivant :
#!/usr/bin/env python3 import sys import panflute as pf from pandocfilters import toJSONFilter def action(elem, doc): if isinstance(elem, pf.CodeBlock) and 'csljson' in elem.classes: return pf.RawBlock(elem.text, format='latex') if isinstance(elem, pf.Para) and len(elem.content) == 1 and isinstance(elem.content[0], pf.RawInline): return pf.RawBlock(elem.content[0].text, format='latex') if isinstance(elem, pf.Str) and len(elem.text) == 1 and ord(elem.text) > 126: return pf.RawInline(r'unicode{%04X}' % ord(elem.text), format='latex') if isinstance(elem, pf.Str) and len(elem.text) > 1 and all(ord(c) <= 126 for c in elem.text): return pf.RawInline(elem.text, format='latex') if isinstance(elem, pf.Image) and elem.url.startswith('data:'): return pf.Para(pf.Ide
Enregistrez et fermez le fichier.
- Programme Golang
Entrez la commande suivante dans un terminal ou une fenêtre de ligne de commande :
nano md_to_docx.go
Puis collez le code Golang suivant :
package main import ( "bytes" "io/ioutil" "os/exec" ) func main() { // 读取Markdown文件 data, err := ioutil.ReadFile("test.md") if err != nil { panic(err) } // 调用Pandoc过滤器转换Markdown为LaTeX cmd := exec.Command("pandoc", "--filter", "pandocfilters/md_to_docx.py", "-f", "markdown", "-t", "latex") cmd.Stdin = bytes.NewReader(data) out, err := cmd.Output() if err != nil { panic(err) } // 调用Pandoc将LaTeX转换为Word文档 cmd = exec.Command("pandoc", "-f", "latex", "-t", "docx", "--lua-filter=/Users/username/pandocfilters/lua/uncite.lua") cmd.Stdin = bytes.NewReader(out) out, err = cmd.Output() if err != nil { panic(err) } // 将结果保存为Word文档 err = ioutil.WriteFile("test.docx", out, 0644) if err != nil { panic(err) } }
Enregistrez et fermez le fichier.
5. Utilisez le programme Golang pour convertir md en word
Entrez la commande suivante dans le terminal ou la fenêtre de ligne de commande :
go run md_to_docx.go
Le programme lira le fichier test.md dans le répertoire actuel et le convertira en test. fichier docx.
6. Résumé
Dans cet article, nous avons présenté comment utiliser Golang et Pandoc pour convertir du texte Markdown en document Word. Nous utilisons des filtres Pandoc pour convertir Markdown en LaTeX, puis utilisons Pandoc pour convertir des documents LaTeX en Word. Nous avons également expliqué comment utiliser les filtres Python et Pandoc pour le filtrage de texte. De cette façon, nous pouvons utiliser Golang pour appeler des scripts Python pour la conversion de texte. Nous avons également expliqué comment installer les bibliothèques Pandoc, Go et pandocfilters et les intégrer dans une solution complète.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

OpenSSL, en tant que bibliothèque open source largement utilisée dans les communications sécurisées, fournit des algorithmes de chiffrement, des clés et des fonctions de gestion des certificats. Cependant, il existe des vulnérabilités de sécurité connues dans sa version historique, dont certaines sont extrêmement nocives. Cet article se concentrera sur les vulnérabilités et les mesures de réponse communes pour OpenSSL dans Debian Systems. DebianopenSSL CONNUTS Vulnérabilités: OpenSSL a connu plusieurs vulnérabilités graves, telles que: la vulnérabilité des saignements cardiaques (CVE-2014-0160): cette vulnérabilité affecte OpenSSL 1.0.1 à 1.0.1F et 1.0.2 à 1.0.2 Versions bêta. Un attaquant peut utiliser cette vulnérabilité à des informations sensibles en lecture non autorisées sur le serveur, y compris les clés de chiffrement, etc.

Problème de threading de file d'attente dans Go Crawler Colly explore le problème de l'utilisation de la bibliothèque Crawler Crawler dans le langage Go, les développeurs rencontrent souvent des problèmes avec les threads et les files d'attente de demande. � ...

La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...

Chemin d'apprentissage du backend: le parcours d'exploration du front-end à l'arrière-end en tant que débutant back-end qui se transforme du développement frontal, vous avez déjà la base de Nodejs, ...

La différence entre l'impression de chaîne dans le langage go: la différence dans l'effet de l'utilisation de fonctions println et string () est en Go ...

Cet article présente une variété de méthodes et d'outils pour surveiller les bases de données PostgreSQL sous le système Debian, vous aidant à saisir pleinement la surveillance des performances de la base de données. 1. Utilisez PostgreSQL pour reprendre la surveillance Afficher PostgreSQL lui-même offre plusieurs vues pour surveiller les activités de la base de données: PG_STAT_ACTIVITY: affiche les activités de la base de données en temps réel, y compris les connexions, les requêtes, les transactions et autres informations. PG_STAT_REPLIcation: surveille l'état de réplication, en particulier adapté aux grappes de réplication de flux. PG_STAT_DATABASE: Fournit des statistiques de base de données, telles que la taille de la base de données, les temps de validation / recul des transactions et d'autres indicateurs clés. 2. Utilisez l'outil d'analyse de journaux pgbadg

Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...

Dans le cadre du cadre de beegoorm, comment spécifier la base de données associée au modèle? De nombreux projets Beego nécessitent que plusieurs bases de données soient opérées simultanément. Lorsque vous utilisez Beego ...
