Seite 1 von 1

PDF Dateien anzeigen...

Verfasst: Mittwoch 7. November 2007, 10:26
von skypa
Moin!
Ich hab ein Pool voller PDF Dateien, mit jeweils 1ner Seite welche eine Zeichnung enthält. Um nun den stilistischen Aspekt besser kontrollieren zu können wollt ich mit python mehrere pdf´s gleichzeitig anzeigen lassen, in einem Canvas z.B.

Features sollen später Zoom z.B. sein.

Hat jemand schon mal was in der Art gemacht? Irgendjemand eine Idee wie man das macht ? :roll:

Thx for listening

Re: PDF Dateien anzeigen...

Verfasst: Mittwoch 7. November 2007, 10:33
von gerold
Hallo skypa!

Unter Windows mit wxPython machbar.

mfg
Gerold
:-)

Verfasst: Mittwoch 7. November 2007, 12:01
von veers
Vermutlich könntest du die Python Bindings zu poppler verwenden ;)

Verfasst: Mittwoch 7. November 2007, 12:51
von skypa
Hm verdammte Tat, nun muss ich wohl mich erstmal mit wxPython auseinander setzen...
Vielen Dank für den Hinweis von euch! Ich meld mich später :roll:

Python bindings zu poppler? Kannst mir das kurz erläutern, versteh rein Bahnhof :lol:

Verfasst: Mittwoch 7. November 2007, 13:57
von Leonidas
skypa hat geschrieben:Hm verdammte Tat, nun muss ich wohl mich erstmal mit wxPython auseinander setzen...
Funktioniert das auch ohne Adobe Reader? Was nutzt wxPython denn dafür?
skypa hat geschrieben:Python bindings zu poppler? Kannst mir das kurz erläutern, versteh rein Bahnhof :lol:
Poppler ist der Rendering-Code von `xpdf` der auch von `Evince` unter GNOME verwendet wird um PDFs anzuzeigen. Mit den Python-Bindings könntest du so deinen eigenen PDF-Betrachter schreiben.

Verfasst: Mittwoch 7. November 2007, 14:02
von gerold
Leonidas hat geschrieben:
skypa hat geschrieben:Hm verdammte Tat, nun muss ich wohl mich erstmal mit wxPython auseinander setzen...
Funktioniert das auch ohne Adobe Reader? Was nutzt wxPython denn dafür?
Hallo!

@Leonidas: Es nutzt das *aktuell* in Windows für PDF registrierte ActivcX-Control. Das ist normalerweise der Acrobat-Reader, aber bei mir ist das im Moment der Foxit-Reader http://www.foxitsoftware.com/.

@skypa: So schwer ist das gar nicht:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import wx
from wx.lib.pdfwin import PDFWindow

PDF_FILE1 = r"J:\Dokumente und Einstellungen\Gerold\Desktop\LED 5mm.pdf"
PDF_FILE2 = r"J:\Dokumente und Einstellungen\Gerold\Desktop\Python Magazine 2007-10.pdf"

wx.SetDefaultPyEncoding("iso-8859-15")


class MyFrame(wx.Frame):
    
    def __init__(
        self, parent = None, title = "Example", size = wx.Size(550, 420)
    ):
        wx.Frame.__init__(self, parent, -1, title, size = size)
        
        panel = wx.Panel(self)
        
        vbox_main = wx.BoxSizer(wx.VERTICAL)
        panel.SetSizer(vbox_main)
        
        hbox = wx.BoxSizer(wx.HORIZONTAL)
        vbox_main.Add(hbox, 1, wx.EXPAND | wx.ALL, 5)
        
        pdf1 = PDFWindow(panel, style=wx.SUNKEN_BORDER)
        hbox.Add(pdf1, 1, wx.EXPAND | wx.ALL, 5)
        pdf1.LoadFile(PDF_FILE1)
        
        pdf2 = PDFWindow(panel, style=wx.SUNKEN_BORDER)
        hbox.Add(pdf2, 1, wx.EXPAND | wx.ALL, 5)
        pdf2.LoadFile(PDF_FILE2)


def main():
    """Testing"""
    app = wx.PySimpleApp()
    f = MyFrame()
    f.Center()
    f.Show()
    app.MainLoop()


if __name__ == "__main__":
    main()
mfg
Gerold
:-)

Verfasst: Mittwoch 7. November 2007, 14:13
von skypa
Wow, merci! Das lass ich mir direkt mal durchn Kopf gehen, hab mir schon Literatur besorgt : "wxPython in Action" (->[URL entfernt]).

Da war leider nix enthalten mit pdf dateien, aber hat sich mit deinem Beispiel wohl erledigt!
Ich paste später dann mal was ich drauß gemacht hab.

Heide!

Edit (Leonidas): URL gelöscht.

Verfasst: Dienstag 13. November 2007, 20:30
von ElSids
Funktioniert leider nicht.

Es öffnet sich der Acrobat-Reader (version 8.0) und zeigt die gewählte Datei.
Gleichzeitig öffnet sich ein (wx.python)Frame mit zwei Panels.

Eins davon bleibt leer, im zweiten taucht eine Fehlermeldung des Internet Explorers (?) auf.

Schlimmer noch als die Internet Explore Meldung ist das Ergebnis, wenn ich versuche, das Beispiel aus der wx.python-Demo durchzuspielen.

Wieder öffnet sich der Acrobat-Reader (im wx.Python Frame geschieht nichts) nur dass der Reader dann hängen bleibt.

Unter Verwendung von: WindowsXP, Acrobat Reader 8.0, Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08)

Kann es sein, dass der Fehler in der Reader-Version liegen könnte (event. zu neu ?)

ElSidS

Verfasst: Dienstag 13. November 2007, 22:06
von gerold
ElSids hat geschrieben:Acrobat Reader 8.0
Hallo ElSidS!

Du hast recht. Mit dem Acrobat Reader 8.0 geht gar nichts mehr. Hoffentlich reagieren die Entwickler von wxWidgets oder wxPython recht schnell darauf.

mfg
Gerold
:-)