Je trouvais une solution pour imprimer une page Web dans un fichier PDF local, en utilisant Python. l'une des bonnes solutions consiste à utiliser Qt, que vous trouverez ici, https://bharatikunal.wordpress.com/2010/01/ .
Cela n'a pas fonctionné au début car j'avais un problème avec l'installation de PyQt4 car il donnait des messages d'erreur tels que « ImportError: No module named PyQt4.QtCore
» et « ImportError: No module named PyQt4.QtCore
».
C'était parce que PyQt4 n'est pas installé correctement. J'avais l'habitude d'avoir les bibliothèques situées à C: \ Python27 \ Lib mais ce n'est pas pour PyQt4.
En fait, il suffit de le télécharger à partir de http://www.riverbankcomputing.com/software/pyqt/download (attention à la bonne version de Python que vous utilisez) et de l'installer sur C: \ Python27 (mon cas). C'est tout.
Maintenant, les scripts fonctionnent bien, donc je veux les partager. pour plus d'options d'utilisation de Qprinter, veuillez vous référer à http://qt-project.org/doc/qt-4.8/qprinter.html#Orientation-enum .
apt-get install wkhtmltopdf
WeasyPrint
la source
'wb'
, non'w'
, parce quepdf
c'est unbytes
objet.grâce aux messages ci-dessous, et je suis en mesure d'ajouter sur la page Web l'adresse du lien à imprimer et l'heure actuelle sur le PDF généré, quel que soit le nombre de pages qu'il contient.
Ajouter du texte à un PDF existant à l'aide de Python
https://github.com/disflux/django-mtr/blob/master/pdfgen/doc_overlay.py
Pour partager le script comme ci-dessous:
la source
html5lib
, qui est utilisé par xhtml2pdf. Cette solution a résolu le problème: github.com/xhtml2pdf/xhtml2pdf/issues/318voici celui qui fonctionne bien:
la source
Voici une solution simple utilisant QT. J'ai trouvé cela dans le cadre d'une réponse à une question différente sur StackOverFlow. Je l'ai testé sur Windows.
la source
J'ai essayé la réponse @NorthCat en utilisant pdfkit.
Il fallait installer wkhtmltopdf. L'installation peut être téléchargée à partir d'ici. https://wkhtmltopdf.org/downloads.html
Installez le fichier exécutable. Ensuite, écrivez une ligne pour indiquer où se trouve wkhtmltopdf, comme ci-dessous. (référencé dans Impossible de créer un pdf à l'aide de python PDFKIT Erreur: "Aucun exécutable wkhtmltopdf trouvé:"
la source
Si vous utilisez du sélénium et du chrome, vous n'avez pas besoin de gérer vous-même les cookies et vous pouvez générer une page pdf à partir de l'impression de chrome au format pdf. Vous pouvez vous référer à ce projet pour le réaliser. https://github.com/maxvst/python-selenium-chrome-html-to-pdf-converter
base modifiée> https://github.com/maxvst/python-selenium-chrome-html-to-pdf-converter/blob/master/sample/html_to_pdf_converter.py
la source
default_url_fetcher
pour gérer les cookies, mais plus tard, je rencontre un problème lors de son installation dans Ubuntu16.Ensuite, j'utilise wkhtmltopdf it suport cookie setting mais cela a causé de nombreux OSERROR comme -15-11 lors de la manipulation une page.Cette solution a fonctionné pour moi en utilisant PyQt5 version 5.15.0
la source