web-dev-qa-db-fra.com

Comment créer un outil de documentation PDF-out-of-Sphinx

J'ai suivi ce lien pour essayer de générer du pdf à partir de Sphinx:

https://www.quora.com/How-to-create-a-PDF-out-of-Sphinx-documentation-tool

$ sphinx-build -b pdf source build/pdf

Error: Cannot find source directory  `/Users/seb/mydocs/source'.


$ make all-pdf
make: *** No rule to make target `all-pdf'.  Stop.
$ make pdf
make: *** No rule to make target `pdf'.  Stop.

Depuis essayé sous OSX:

$ conda install -c dfroger rst2pdf=0.93
Fetching package metadata .........
Solving package specifications: .
Error: Package missing in current osx-64 channels: 
  - rst2pdf 0.93*

Vous pouvez rechercher des packages sur anaconda.org avec

anaconda search -t conda rst2pdf

ÉDITER:

Après l'installation de pip rst2pdf

install rst2pdf
register rst2pdf in your conf.py Sphinx config
extensions = ['sphinx.ext.autodoc','rst2pdf.pdfbuilder']

Mais l'ajout de "rst2pdf.pdfbuilder" provoque

Extension error:
Config value 'math_number_all' already present
make: *** [html] Error 1


$ sphinx-build -bpdf sourcedir outdir

Mais que dois-je spécifier comme sourcedir et outdir? Exemple s'il vous plaît.

ÉDITER:

Maintenant, faites html

puis:

 $ rst2pdf index.rst output.pdf
 index.rst:14: (ERROR/3) Unknown directive type "toctree".

 .. toctree::

 :maxdepth: 2

tutoriel d'introduction projet de déploiement multiple_jobs

index.rst:26: (ERROR/3) Unknown interpreted text role "ref".
index.rst:27: (ERROR/3) Unknown interpreted text role "ref".
index.rst:28: (ERROR/3) Unknown interpreted text role "ref".

Aussi:

$rst2pdf.py index.rst -o mydocument.pdf

Produit un mydocument.pdf mais complètement différent de html et toc pour toutes les pages ne sont même pas là?

Image de pdf verset HTML même page

12
niceseb

J'ai réussi à générer un PDF pour le document DevStack en suivant les changements de configuration dans ce lien :

Voici les étapes:

  1. Modifiez votre conf.py (modifier ou ajouter des valeurs)

    extensions = ['rst2pdf.pdfbuilder']
    pdf_documents = [('index', u'rst2pdf', u'Sample rst2pdf doc', u'Your Name'),]
    
  2. Installez le " rst2pdf "si nécessaire

    pip install rst2pdf
    
  3. Créez le fichier PDF comme ceci:

    sphinx-build -b pdf doc/source doc/build
    
6
Alan Zhiliang Feng

Vous pouvez éviter rst2pdf et utiliser make pdflatex pour construire une sortie pdf via un fichier latex.

cf plus d'infos:

https://docs.typo3.org/typo3cms/extensions/sphinx/AdvancedUsersManual/RenderingPdf/

5
tfv

Réussi dans la génération de PDF via Latex (pour Windows 10) ... Pas besoin de modifier le fichier conf.py existant dans Sphinx ... la meilleure solution est d'installer MiKTeX .... installer Perl (ActiveState) .... après lors de l'exécution sphinx type 'make HTML' type 'make latex' puis make latexPdf ... cela a résolu mon problème.

2

Ceci provient de la documentation officielle de Sphinx . Si vous avez pdfTex outil installé sur votre machine, tout ce dont vous avez besoin est:

$ make latexpdf

Ensuite, le ou les fichiers pdf générés seront sous _build/latex/<PROJECT-NAME>.pdf

Ainsi, le processus complet à partir de zéro serait le suivant:

$ pip install -U sphinx # install the package
$ sphinx-quickstart # create a new project (answer the questions)
$ make latexpdf # compile and generate pdf file

Notez que vous pouvez également "facultativement" installer les extensions nécessaires en modifiant le fichier config.py

1
Aziz Alto

Trouvé cet article connexe qui découvre que rst2pdf rompt le rendu mathématique dans Sphinx 1.4.1 car il importe un module mathématique factice.

Dans rst2pdf.pdfbuilder:setup(), il appelle mathbase.setup() en interne pour installer le module mathématique factice. Cela provoque des conflits et génère des erreurs.

J'ai eu cette même erreur lors de l'exécution de sphinx-build -b pdf

Erreur d'extension:
La valeur de configuration 'math_number_all' est déjà présente

Examinons maintenant l'option latex et exportons au format PDF en tant que @tfv publié. pdflatex est un plus grand univers de distribution TeX .

1
SliverNinja - MSFT

Assurez-vous de jeter un œil à http://rst2pdf.ralsina.me/handbook.html#sphinx .

Ce qui suit s'applique à Ubuntu 16.

Mais il est probablement moins pénible d'installer une suite LaTex complète que d'essayer de faire fonctionner cet outil; il est très sensible aux erreurs et difficile à utiliser.

J'y ai jeté un coup d'oeil ( https://tex.stackexchange.com/a/9537 ) et ça a l'air intimidant ...

c'est plus encourageant: https://milq.github.io/install-latex-ubuntu-debian/

Et je l'ai fait:

Sudo apt-get install texlive-full
make clean latexpdf

vaut la peine (et l'espace disque) d'installer. Je me suis débarrassé de rst2pdf.

1
axd