8

たとえば、Webからpdfを取得しました

import requests
pdf = requests.get("http://www.scala-lang.org/docu/files/ScalaByExample.pdf")

このコードを変更して表示したい

from gi.repository import Poppler, Gtk

def draw(widget, surface):
    page.render(surface)

document = Poppler.Document.new_from_file("file:///home/me/some.pdf", None)
page = document.get_page(0)

window = Gtk.Window(title="Hello World")
window.connect("delete-event", Gtk.main_quit)
window.connect("draw", draw)
window.set_app_paintable(True)

window.show_all()
Gtk.main()

document =pdf を含む変数 pdf を使用するように行を変更するにはどうすればよいですか?

( popplerqt4 などを使用してもかまいません。それが簡単になるのであれば。)

4

6 に答える 6

4

それはすべて、使用しているOSに依存します。これらは通常役立つかもしれません:

import os
os.system('my_pdf.pdf')

また

os.startfile('path_to_pdf.pdf')

また

import webbrowser
webbrowser.open(r'file:///my_pdf.pdf')
于 2016-10-16T06:11:32.967 に答える
1

acrobat リーダーを使用して pdf を開きたい場合は、以下のコードが機能するはずです。

import subprocess
process = subprocess.Popen(['<here path to acrobat.exe>', '/A', 'page=1', '<here path to pdf>'], shell=False, stdout=subprocess.PIPE)
process.wait()
于 2014-02-19T19:10:57.123 に答える
1

一時ファイルを使用するのはどうですか?

import tempfile
import urllib
import urlparse

import requests

from gi.repository import Poppler, Gtk

pdf = requests.get("http://www.scala-lang.org/docu/files/ScalaByExample.pdf")

with tempfile.NamedTemporaryFile() as pdf_contents:
    pdf_contents.file.write(pdf)
    file_url = urlparse.urljoin(
        'file:', urllib.pathname2url(pdf_contents.name))
    document = Poppler.Document.new_from_file(file_url, None)
于 2014-02-13T14:00:22.297 に答える
1

pyPdfというライブラリがあるので、それを使ってPDFファイルを読み込めるはずです。さらに質問がある場合は、メッセージを送ってください。

于 2014-03-01T07:04:06.207 に答える