Comment Google crée-t-il ces superbes rapports PDF dans Analytics et lorsque vous imprimez un document Google, etc. ?[fermé]

StackOverflow https://stackoverflow.com/questions/47709

Question

Lorsque vous imprimez à partir de Google Docs (en utilisant le lien « imprimer », et non Fichier/Imprimer), vous finissez par imprimer un fichier PDF bien formaté au lieu de vous fier au moteur d'impression du navigateur.Il en va de même pour certains rapports de Google Analytics...les rapports imprimés au format PDF sont magnifiques.Comment font-ils cela?Je ne peux pas imaginer qu'ils utilisent quelque chose comme Adobe Acrobat pour faciliter cela, mais peut-être qu'ils le font.J'ai vu de temps en temps des convertisseurs HTML en PDF coûteux en ligne, mais je ne m'en suis jamais lassé.Des pensées?

Était-ce utile?

La solution

Si vous regardez spécifiquement comment Google procède.Si vous regardez le Propriétés PDF page, ils utilisent Prince 6.0 (voir princexml.com)

Il existe de nombreux autres générateurs de PDF.J'ai eu beaucoup de succès avec PDFlib pour les travaux délicats.

alt text

Autres conseils

iTextSharp et iText sont des bibliothèques de génération de PDF open source et gratuites pour .NET et Java respectivement.

Je les ai déjà utilisés pour générer des rapports PDF et j'étais très satisfait des résultats.

http://itextsharp.sourceforge.net/

http://www.lowagie.com/iText/

Excellente alternative gratuite à PrinceXML : wkhtmltopdf .Il existe de nombreuses bibliothèques wrapper pour différents langages - mais je n'ai utilisé que celles de Ruby.Cependant, le produit lui-même est à égalité avec PrinceXML à mon humble avis.

j'ai eu du succès avec pd4ml.Il dispose d'une bibliothèque de balises, vous pouvez donc transformer n'importe quel code HTML existant en PDF en

<pd4ml:transform>
<!-- Your HTML is here -->

<c:import url="/page.html" />
</pd4ml:transform>

Eh bien, je doute que ce soit aussi simple que de générer du HTML...Je veux dire, tout d’abord, le PDF n’est pas un format lisible par l’homme et ce n’est pas du texte brut (comme le SVG).En fait, je comparerais un fichier SVG à un fichier PDF dans la mesure où avec les deux, vous avez un contrôle précis sur la mise en page sur une page imprimée.Mais SVG est différent dans le sens où il s'agit de XML (et aussi dans le sens où il n'est pas complètement pris en charge dans le navigateur...je suis toujours à la recherche de SVG).À bien y penser, SVG devrait probablement être ma prochaine question.

Je sais que Google n'utilise pas .NET et je doute qu'ils utilisent Java, ils doivent donc utiliser d'autres bibliothèques pour générer les fichiers PDF.Plus important encore, comment peuvent-ils créer des PDF sans avoir à tout réécrire au format PDF plutôt qu'au format HTML ?Je veux dire, il doit y avoir du code partagé entre le moment où ils génèrent la vue HTML par opposition à la vue PDF.À bien y penser, peut-être que la vue PDF et la vue HTML sont complètement séparées et qu'elles n'ont que deux vues et c'est pourquoi le style de développement MVC semble être la voie à suivre.

Le rendu d'un PDF est un problème difficile et complexe.Cependant, les générer ne l’est pas.Créez simplement quelques entités et générez.Il s'agit du même domaine problématique que la génération de HTML pour une page Web par rapport à.l'afficher (le rendre).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top