Es scheint, dass wx.lib.pdfwin_old Funktionen für das Gehen auf die vorherige und nächste Seite für eine pdf hat. Wie ändern Sie es, um zu einer bestimmten Seite eines PDFs zu gelangen, oder wie lautet der Code, um auf eine bestimmte Seite eines PDFs zu gelangen?Gehen Sie mit wx.lib.pdfwin_old zu einer bestimmten Seite auf einer PDF-Datei
import wx
if wx.Platform == '__WXMSW__':
from wx.lib.pdfwin_old import PDFWindow
class MyPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, id=-1)
self.pdf = None
sizer = wx.BoxSizer(wx.VERTICAL)
self.pdf = PDFWindow(self, size=(parent.GetSize().width,parent.GetSize().height*3/5),style=wx.SUNKEN_BORDER)
sizer.Add(self.pdf, proportion=3, flag=wx.EXPAND|wx.ALL)
btn = wx.Button(self, wx.NewId(), "Open PDF File")
self.Bind(wx.EVT_BUTTON, self.OnOpenButton, btn)
sizer.Add(btn, proportion=1, flag=wx.EXPAND|wx.ALL)
self.SetSizer(sizer)
def OnOpenButton(self, event):
global current_pdf_path
dlg = wx.FileDialog(self, wildcard="*.pdf")
if dlg.ShowModal() == wx.ID_OK:
wx.BeginBusyCursor()
print(dlg.GetPath())
self.pdf.LoadFile(dlg.GetPath())
wx.EndBusyCursor()
dlg.Destroy()
app = wx.App()
frame = wx.Frame(None, -1, "PDFWindow", size = (640, 480))
MyPanel(frame)
frame.Show(True)
app.MainLoop()
Aber ich bekomme eine Erhöhung PDFWindowError(): Ein PDF muss vor dem Aufruf dieser Methode geladen werden. Ich lud die pdf mit self.pdf.LoadFile (dlg.GetPath()) und nannte dann self.pdf.setCurrentPage (3) aber noch nicht arbeiten. – Boikem
Es lädt die PDF in Ordnung, aber der Aufruf der setCurrentPage ist, was den Fehler verursacht – Boikem
Weitere Tests auf den Code zeigt, dass es Self.ie.Navigate2 (Dateiname) anstelle von self.ie.Document.LoadFile (fileName) verwendet. Dies lädt PDF-Dateien (zumindest mit Foxit, aber nicht mit Adobe), aber ich kann keine Funktionen wie bestimmte Seiten aufrufen. Wie lösen Sie das auch? Danke für die Hilfe bis jetzt – Boikem