2017-08-07 12 views
1

リンクからPDFを生成する際に問題が1つあります。私はhttps://example.com/export_html?parameter1=abc&parameter2=defを持って、このリンクは、すべての内容をHTMLファイルには、私は上記URLからこれらのコンテンツを抽出し、PDFファイルに保存しようとしていますグラフ、表&などにPython、Phantomjs/PyQt/Ghostを使用してURLをPDFに変換する

を含んで生成されます。しかし、上記の問題は、すべてのコンテンツを読み込んだ後にリンクが少なくとも5〜7秒かかるので、PDFとして保存する必要があります。

私は、PDFのすべての内容をロードするために)(機能をtime.sleepを試してみましたが、それはPyQt4がPyQt4と、いくつかの低いものを試してみましたが、私のために動作しませんでしたでは動作しませんでした。

from ghost import Ghost 
from PySide.QtGui import QApplication, QImage, QPainter, QPrinter 
#from Pyside import * 
#import PySide 
#from PyQt4.QtWebKitWidgets import * 

class MyGhost(Ghost): 

    def capture_pdf(self): 
     printer = QPrinter(QPrinter.HighResolution) 
     printer.setResolution(300) 
     printer.setOutputFileName("QtPrinter.pdf") 
     printer.setPaperSize(QPrinter.A4) 
     printer.setOrientation(QPrinter.Landscape) 
     printer.setOutputFormat(QPrinter.PdfFormat) 

     painter = QPainter(printer) 
     self.main_frame.render(painter) 
     painter.end() 

ghost = Ghost(viewport_size=(1280,960)) 

page, resources = ghost.open('https://www.google.co.in/search?q=ghost+py+save+as+pdf&oq=ghost&aqs=chrome.1.69i57j69i59j69i60l4.5364j0j1&sourceid=chrome&ie=UTF-8') 
ghost.capture_pdf() 

しかし、上記のコードでは、属性のエラーので、動作していない。でも、以下、Ghost.pyで試してみました

は、私が試したコードです。誰かがより良い解決策/アプローチで私を示唆することができますか?

私はこのPDFを生成することに完全に固執しています。リンクを5〜7秒間ロードしてからPDFファイルとして保存するまで待つ必要があります。どんな助けも大歓迎です。

ありがとうございます。

答えて

1

pdfkitを使用できます。ゴーストを使用するよりもはるかに簡単です。 pypiからpip install pdfkitでインストールしてください。使用方法は次のとおりです。

import pdfkit 
pdfkit.from_url('https://www.google.co.in/search?q=ghost+py+save+as+pdf&oq=ghost&aqs=chrome.1.69i57j69i59j69i60l4.5364j0j1&sourceid=chrome&ie=UTF-8', 'out.pdf') 

詳細については、thisを参照してください。実行可能ファイルwkhtmltopdfもダウンロードする必要があります。

+0

私もこれを試しましたが、私は質問で言ったように、そのリンクはいつもすべての内容をロードする必要があります。そうしないと、pdfkitを使用すると空白のPDFが生成されます。 –

+0

ああさて、pyautoguiを使ってページを開き、別名で保存をクリックすることができます。 –

+0

http://pyautogui.readthedocs.io/en/latest/ –

関連する問題