Génération de PDF à partir de commentaires XML

Fouiner

Génération de PDF à partir de commentaires XML


Contexte

J’écris beaucoup de code en C # et j’utilise des commentaires XML partout pour décrire le comportement de mes méthodes, membres et propriétés.

Je voudrais finalement compiler toutes les informations recueillies à partir de ces commentaires (ainsi que les méthodes, les membres et les noms de propriété) et générer un document agréable / lisible décrivant mon API.

Je sais qu’il existe déjà des logiciels qui font des choses similaires, comme le générateur d’aide de SandCastle. Je voudrais cependant éviter d’utiliser SandCastle et les fichiers d’aide de Windows en général.

J’aimerais en fait générer mon document au format PDF si cela est possible.

Question

Existe-t-il un logiciel gratuit / open source pour transformer tous mes commentaires XML en un joli document PDF?

OU Mappeur

« Je voudrais cependant éviter d’utiliser SandCastle et les fichiers d’aide de Windows en général. » – pourriez-vous nous en dire un peu plus sur le contexte, pour nous aider à faire des suggestions? Je demande parce que SandCastle exécute essentiellement une transformation partiellement basée sur XSLT des fichiers Xml d’origine pour produire tout type de format de sortie, pas nécessairement des fichiers d’aide Windows. Par exemple, il peut générer (plus ou moins, selon le style utilisé) des fichiers HTML simples.

Albert

Avez-vous regardé le doxygen? il prend en charge C # et également la sortie pdf (via la sortie LaTeX génératrice qui peut être convertie en pdf).

Fouiner

@albert En fait, je l’ai fait, mais je n’ai pu trouver que le code source. Je n’ai pas encore vu d’implémentation construite avec Doxygen que je pourrais simplement exécuter sur mon code et obtenir la sortie PDF. Si vous savez une telle chose, faites le moi savoir.

Albert

Il est assez facile de créer doxygen à partir des sources, voir www.doxygen.org pour les instructions de téléchargement. Ensuite, vous devez créer le pdf à partir de Latex nécessitant certains packages en fonction de votre système d’exploitation.

Fouiner

@albert J’aimerais essayer. Pouvez-vous formaliser ce que vous dites en lançant une réponse comprenant certaines étapes de base pour commencer?

Réponses


 Michael Kay

Nous avons notre propre outil qui fait cela, et c’est assez complexe, mais cela montre que cela peut être fait. Nous faisons plus de Java que C #, et bien sûr, nous sommes une boutique XSLT, de sorte que tous colorent probablement notre approche. Nous prenons la sortie apidoc.xml du compilateur C # comme une entrée, un autre fichier XML produit par une analyse grossière du code source C # comme deuxième entrée, puis les fusionnons ensemble (en utilisant XSLT) dans un fichier XML dans un format qui est compatible avec la documentation de nos API Java produites à l’aide de javadoc et jeldoclet, combinez cela avec les API Java, puis transformez le résultat en une saveur particulière de HTML5 compatible avec le reste de notre documentation, en utilisant à nouveau XSLT. Nous ne produisons pas de PDF de nos jours, mais nous l’avons fait dans le passé, en utilisant XSL-FO.

Bien sûr, il s’agit d’un outil interne et il n’est pas suffisamment produit pour que quelqu’un d’autre puisse l’utiliser, mais j’ai pensé que je le décrirais simplement de sorte que vous (a) ayez des preuves que cela peut être fait, et (b) une mesure de la complexité.

Nous avons été généralement surpris de voir à quel point l’outillage est médiocre dans le monde .NET par rapport à l’équivalent Java. Peut-être que les choses ont changé depuis que nous avons construit tout cela, je n’ai pas regardé récemment.

Fouiner

Bien qu’il ne fasse pas de PDF, je regarde actuellement Doxygen. Soi-disant, il générera du HTML, et ensuite je pourrais toujours faire la conversion moi-même en PDF si nécessaire. Merci tout de même pour ta contribution.

Albert

doxygen peut également créer une sortie latex et à partir de cela un pdf (Makefile et / ou make.bat fournis également)

 

#à, #de, commentaires, Generation, partir, PDF, XML?

 

wiki

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *