De quelles bibliothèques ai-je besoin? Quels paramètres de ligne de commande dois-je transmettre?
J'ai installé wkhtml2pdf et j'ai essayé de lancer:
pandoc reports/7/report.html -t pdf -o reports/7/report.pdf
Ce qui rapporte une erreur de:
To create a pdf with pandoc, use the latex or beamer writer and specify
an output file with .pdf extension (pandoc -t latex -o filename.pdf).
pdf
n'est pas un format de sortie valide. latex
et beamer
(pour les diaporamas en latex) sont.
Pour créer un pdf, utilisez -t latex
et -o myoutput.pdf
. Vous pouvez omettre l'argument -t
car un .pdf
dans -o
est défini par défaut sur latex. Vous pouvez donc utiliser soit:
pandoc reports/7/report.html -t latex -o reports/7/report.pdf
ou:
pandoc reports/7/report.html -o reports/7/report.pdf
Ce qui suit fonctionne pour moi:
pandoc --pdf-engine=xelatex https://www.python.org/dev/peps/pep-0008/ -o pep8.pdf
Vous devez avoir une distribution LaTeX installée telle que TeX Live .
Si vous souhaitez colorer les liens, vous devez ajouter les options linkcolors
. Si la page Web contient des caractères CJK, vous devez spécifier les options CJKmainfont
. Un exemple est présenté ci-dessous:
pandoc --pdf-engine=xelatex -V colorlinks -V CJKmainfont="KaiTi" https://jdhao.github.io/2019/01/07/windows_tools_for_programmers/ -o programmer_tools.pdf
La police KaiTi
prend en charge les caractères chinois. Si vous utilisez d'autres langues, vous pouvez utiliser l'option mainfont
pour spécifier une police prenant en charge la langue utilisée par la page Web.
Si la page Web contient des images svg, vous devez également installer rsvg-convert pour convertir correctement la page Web en fichiers PDF (voir la référence ici ).
De https://pandoc.org/MANUAL.html :
Pandoc peut également utiliser l'un des moteurs HTML/CSS à PDF suivants pour créer un fichier PDF:
Pour ce faire, spécifiez un fichier de sortie avec une extension .pdf, comme auparavant, mais ajoutez le --pdf-engine option ou le contexte, -t html ou -t ms à la ligne de commande ( -t html la valeur par défaut est --pdf-engine = wkhtmltopdf ).