web-dev-qa-db-fra.com

Comment convertir un fichier Markdown en PDF

J'ai un fichier Markdown que je souhaite convertir en PDF afin de pouvoir le télécharger sur Speakerdeck. J'utilise Pandoc pour convertir de markdown en PDF.

Mon problème est que je ne peux pas spécifier quel contenu doit aller sur quelle page du PDF, car Markdown ne fournit aucune fonctionnalité de ce genre.

par exemple. Réduction:

###Hello
* abc
* def

###Bye
* ghi
* jkl

Maintenant, je veux que Hello soit une diapositive et Bye soit sur une autre diapositive sur Speakerdeck. Donc, j'aurai besoin qu'ils soient sur différentes pages du PDF que je génère à l'aide de Pandoc.

Mais Hello et Bye se retrouvent sur la même page dans le PDF.

Je ne sais pas comment je peux y arriver. Toute aide grandement appréciée.

31
Akshar Raaj

Mise à jour 2016:

Module NPM: https://github.com/alanshaw/markdown-pdf
Possède une interface de ligne de commande: https://github.com/alanshaw/markdown-pdf#usage

npm install -g markdown-pdf
markdown-pdf <markdown-file-path>

Ou, Service en ligne: http://markdown2pdf.com

30
oori

Comme SpeakerDeck accepte uniquement les fichiers PDF PDF, l'option la plus simple est d'utiliser le backend Latex Beamer pour pandoc:

pandoc -t beamer -o output.pdf yourInput.mkd

Notez que vous devez avoir installé Latex Beamer pour cela. J'utilise Ubuntu, donc je n'avais qu'à faire Sudo apt-get install latex-beamer pour l'installer, si vous utilisez Windows, vous pouvez essayez ceci .

Vous pouvez également essayer la sortie HTML/CSS de Slidy:

pandoc --self-contained -t slidy -o output-slidy.html yourInput.mkd

Il a une sortie d'impression décente, comme vous pouvez le vérifier en essayant d'imprimer l'original .

Lire plus d'informations sur les diaporamas avec pandoc ici .

20
Elias Dorneles

Vous pouvez utiliser pandoc avec ces instructions: (testé)

  • Télécharger les dépendances
Sudo apt-get install pandoc texlive-latex-base texlive-fonts-recommended texlive-extra-utils
  • Essayez d'utiliser
pandoc MANUAL.txt -o example13.pdf
8
Yedhrab

Ajout à la réponse @elias, si vous souhaitez séparer le texte dans les diapositives, mettez simplement *** entre le texte que vous souhaitez séparer. Pour que votre exemple soit sur plusieurs pages, écrivez-le comme ceci:

### Hello
- abc
- def

***

### Bye
- ghi
- jkl

Et puis utilisez @elias answer, pandoc -t beamer -o output.pdf yourInput.md.

J'ai Ubuntu 18.10 et j'ai installé le package complet de texlive, cela fonctionne pour moi.

2
tpdsantos

J'ai réussi à obtenir un Markdown stable -> HTML> PDF pipeline travaillant avec le projet MarkReport .

C'est un peu plus que ce que Pandoc fera, car il est basé sur WeasyPrint et est donc destiné à la publication de rapports propres, avec couverture, en-têtes, sections, ... Il enrichit également le HTML avec mise en évidence de la syntaxe et équations LaTeX.

1
Romaingin

Auparavant, j'avais utilisé la réponse npm markdown-pdf, mais sur une nouvelle installation d'ubuntu 19, j'ai eu des problèmes pour l'installer correctement.

Au lieu de cela, j'ai commencé à utiliser le package de code de Visual Studio: "Markdown PDF"

Détails: Nom: Markdown PDF Id: yzane.markdown-pdf Description: Convertir Markdown en PDF Version: 1.2.0 Éditeur: yzane VS Marketplace Lien: - https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf

Cela a toujours bien fonctionné. Si vous avez eu des problèmes pour obtenir d'autres réponses, je recommanderais d'essayer ceci.

0
John Forbes