Przejdź do treści stopki
KORZYSTANIE Z IRONPDF FOR PYTHON

Jak wyświetlić plik PDF w Python

W tym artykule omówimy, jak wyświetlać pliki PDF w języku Python przy użyciu biblioteki IronPDF.

IronPDF — biblioteka Python

IronPDF to potężna biblioteka języka Python, która umożliwia programistom pracę z plikami PDF za pomocą kodu. Dzięki IronPDF można łatwo generować, modyfikować i wyodrębniać dane z dokumentów PDF, co czyni go wszechstronnym narzędziem do różnych zadań związanych z plikami PDF. Niezależnie od tego, czy chcesz tworzyć pliki PDF od podstaw, modyfikować istniejące pliki PDF, czy też wyodrębniać treści z plików PDF, IronPDF zapewnia kompleksowy zestaw funkcji, które upraszczają przepływ pracy.

Niektóre funkcje biblioteki IronPDF for Python obejmują:

Uwaga: IronPDF generuje plik PDF z znakiem wodnym. Aby usunąć znak wodny, należy wykupić licencję na IronPDF. Jeśli chcesz korzystać z licencjonowanej wersji IronPDF, odwiedź stronę internetową IronPDF, aby uzyskać klucz licencyjny.

Wymagania wstępne

Przed rozpoczęciem pracy z IronPDF w języku Python należy spełnić kilka warunków wstępnych:

  1. Instalacja Pythona: Upewnij się, że masz zainstalowany Python w swoim systemie. IronPDF jest kompatybilny z wersjami Python 3.x, więc upewnij się, że masz zainstalowaną kompatybilną wersję Pythona.
  2. Biblioteka IronPDF: Zainstaluj bibliotekę IronPDF, aby uzyskać dostęp do jej funkcji. Można go zainstalować za pomocą menedżera pakietów Python (pip), wykonując następujące polecenie w interfejsie wiersza poleceń:

    pip install ironpdf
    pip install ironpdf
    SHELL
  3. Biblioteka Tkinter: Tkinter to standardowy zestaw narzędzi GUI dla języka Python. Służy do tworzenia graficznego interfejsu użytkownika dla przeglądarki plików PDF w dostarczonym fragmencie kodu. Tkinter jest zazwyczaj preinstalowany wraz z Pythonem, ale jeśli napotkasz jakiekolwiek problemy, możesz zainstalować go za pomocą menedżera pakietów:

    pip install tkinter
    pip install tkinter
    SHELL
  4. Biblioteka Pillow: Biblioteka Pillow jest rozwidleniem biblioteki Python Imaging Library (PIL) i zapewnia dodatkowe możliwości przetwarzania obrazów. Jest używany w fragmencie kodu do ładowania i wyświetlania obrazów wyodrębnionych z pliku PDF. Zainstaluj Pillow za pomocą menedżera pakietów:

    pip install pillow
    pip install pillow
    SHELL
  5. Środowisko programistyczne (IDE): Korzystanie z IDE do obsługi projektów w języku Python może znacznie poprawić komfort pracy. Zapewnia takie funkcje, jak autouzupełnianie kodu, debugowanie oraz bardziej usprawniony przepływ pracy. Jednym z popularnych środowisk IDE do programowania w języku Python jest PyCharm. Możesz pobrać i zainstalować PyCharm ze strony internetowej JetBrains (https://www.jetbrains.com/pycharm/).
  6. Edytor tekstu: Jeśli wolisz pracować z lekkim edytorem tekstu, możesz użyć dowolnego edytora, takiego jak Visual Studio Code, Sublime Text lub Atom. Edytory te oferują podświetlanie składni i inne przydatne funkcje do programowania w języku Python. Możesz również użyć własnej aplikacji IDE języka Python do tworzenia skryptów w tym języku.

Tworzenie projektu przeglądarki PDF przy użyciu PyCharm

Po zainstalowaniu środowiska PyCharm IDE utwórz projekt PyCharm Python, wykonując poniższe czynności:

  1. Uruchom PyCharm: Otwórz PyCharm z poziomu meniu uruchamiania aplikacji lub skrótu na pulpicie.
  2. Utwórz nowy projekt: Kliknij "Utwórz nowy projekt" lub otwórz istniejący projekt w języku Python.

    Jak przekonwertować plik PDF na tekst w języku Python (samouczek), rysunek 1: Środowisko IDE PyCharm Środowisko IDE PyCharm

  3. Skonfiguruj ustawienia projektu: Nadaj nazwę projektowi i wybierz lokalizację, w której zostanie utworzony katalog projektu. Wybierz interpreter języka Python dla swojego projektu. Następnie kliknij "Utwórz".

    Jak przekonwertować plik PDF na tekst w języku Python (samouczek), rysunek 2: Utwórz nowy projekt w języku Python Utwórz nowy projekt w języku Python

  4. Utwórz pliki źródłowe: PyCharm utworzy strukturę projektu, w tym główny plik Python oraz katalog na dodatkowe pliki źródłowe. Zacznij pisać kod i kliknij przycisk uruchomienia lub naciśnij Shift+F10, aby wykonać skrypt.

Kroki umożliwiające przeglądanie plików PDF w języku Python przy użyciu IronPDF

Zaimportuj wymagane biblioteki

Na początek zaimportuj niezbędne biblioteki. W tym przypadku potrzebne będą biblioteki os, shutil, ironpdf, tkinter oraz PIL. Biblioteki os i shutil służą do operacji na plikach i folderach, ironpdf to biblioteka do pracy z plikami PDF, tkinter służy do tworzenia graficznego interfejsu użytkownika (GUI), a PIL służy do obróbki obrazów.

import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
import os
import shutil
import ironpdf
from tkinter import *
from PIL import Image, ImageTk
PYTHON

Konwersja dokumentu PDF na obrazy

Następnie zdefiniuj funkcję o nazwie convert_pdf_to_images. Ta funkcja przyjmuje ścieżkę do pliku PDF jako dane wejściowe. Wewnątrz funkcji biblioteka IronPDF służy do wczytania dokumentu PDF z pliku. Następnie należy określić ścieżkę do folderu, w którym będą przechowywane wyodrębnione pliki obrazów. Metoda pdf.RasterizeToImageFiles firmy IronPDF służy do konwersji każdej strony pliku PDF na plik graficzny i zapisania go w określonym folderze. Do przechowywania ścieżek obrazów służy lista. Pełny przykład kodu wygląda następująco:

def convert_pdf_to_images(pdf_file):
    """Convert each page of a PDF file to an image."""
    pdf = ironpdf.PdfDocument.FromFile(pdf_file)
    # Extract all pages to a folder as image files
    folder_path = "images"
    pdf.RasterizeToImageFiles(os.path.join(folder_path, "*.png"))
    # List to store the image paths
    image_paths = []
    # Get the list of image files in the folder
    for filename in os.listdir(folder_path):
        if filename.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
            image_paths.append(os.path.join(folder_path, filename))
    return image_paths
def convert_pdf_to_images(pdf_file):
    """Convert each page of a PDF file to an image."""
    pdf = ironpdf.PdfDocument.FromFile(pdf_file)
    # Extract all pages to a folder as image files
    folder_path = "images"
    pdf.RasterizeToImageFiles(os.path.join(folder_path, "*.png"))
    # List to store the image paths
    image_paths = []
    # Get the list of image files in the folder
    for filename in os.listdir(folder_path):
        if filename.lower().endswith((".png", ".jpg", ".jpeg", ".gif")):
            image_paths.append(os.path.join(folder_path, filename))
    return image_paths
PYTHON

Aby wyodrębnić tekst z dokumentów PDF, odwiedź tę stronę z przykładami kodu.

Obsługa zamykania okna

Aby wyczyścić wyodrębnione pliki obrazów po zamknięciu okna aplikacji, zdefiniuj funkcję on_closing. W tej funkcji użyj metody shutil.rmtree(), aby usunąć cały folder images. Następnie ustaw tę funkcję jako protokół, który ma zostać wykonany po zamknięciu okna. Poniższy kod pomaga w realizacji tego zadania:

def on_closing():
    """Handle the window closing event by cleaning up the images."""
    # Delete the images in the 'images' folder
    shutil.rmtree("images")
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)
def on_closing():
    """Handle the window closing event by cleaning up the images."""
    # Delete the images in the 'images' folder
    shutil.rmtree("images")
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON

Utwórz okno GUI

Teraz utwórzmy główne okno GUI za pomocą konstruktora Tk(), ustawmy tytuł okna na "Image Viewer" i ustawmy funkcję on_closing() jako protokół obsługujący zamknięcie okna.

window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
window = Tk()
window.title("Image Viewer")
window.protocol("WM_DELETE_WINDOW", on_closing)
PYTHON

Utwórz przewijalne płótno

Aby wyświetlić obrazy i umożliwić przewijanie, utwórz widżet Canvas. Widżet Canvas jest skonfigurowany tak, aby wypełniał dostępną przestrzeń i rozszerzał się w obu kierunkach przy użyciu pack(side=LEFT, fill=BOTH, expand=True). Dodatkowo należy utworzyć widget Scrollbar i skonfigurować go tak, aby kontrolował przewijanie pionowe wszystkich stron i obszaru roboczego.

canvas = Canvas(window)
canvas.pack(side=LEFT, fill=BOTH, expand=True)

scrollbar = Scrollbar(window, command=canvas.yview)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)

# Update the scrollregion to encompass the entire canvas
canvas.bind("<Configure>", lambda e: canvas.configure(
    scrollregion=canvas.bbox("all")))

# Configure the vertical scrolling using mouse wheel
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(
    int(-1*(e.delta/120)), "units"))
canvas = Canvas(window)
canvas.pack(side=LEFT, fill=BOTH, expand=True)

scrollbar = Scrollbar(window, command=canvas.yview)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)

# Update the scrollregion to encompass the entire canvas
canvas.bind("<Configure>", lambda e: canvas.configure(
    scrollregion=canvas.bbox("all")))

# Configure the vertical scrolling using mouse wheel
canvas.bind_all("<MouseWheel>", lambda e: canvas.yview_scroll(
    int(-1*(e.delta/120)), "units"))
PYTHON

Utwórz ramkę dla obrazów

Następnie utwórz widżet Frame wewnątrz obszaru roboczego, aby pomieścić obrazy, używając create_window() do umieszczenia ramki w obszarze roboczym. Współrzędne (0, 0) i parametr anchor='nw' zapewniają, że ramka zaczyna się w lewym górnym rogu obszaru roboczego.

frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")
PYTHON

Konwersja pliku PDF na obrazy i wyświetlanie

Następnym krokiem jest wywołanie funkcji convert_pdf_to_images() z nazwą ścieżki pliku wejściowego PDF. Funkcja ta wyodrębnia strony PDF jako obrazy i zwraca listę ścieżek do tych obrazów. Przechodząc przez ścieżki obrazów i ładując każdy obraz za pomocą metody Image.open() z biblioteki PIL, obiekt PhotoImage jest tworzony przy użyciu ImageTk.PhotoImage(). Następnie utwórz widżet Label, aby wyświetlić obraz.

images = convert_pdf_to_images("input.pdf")
# Load and display the images in the Frame
for image_path in images:
    image = Image.open(image_path)
    photo = ImageTk.PhotoImage(image)
    label = Label(frame, image=photo)
    label.image = photo  # Store a reference to prevent garbage collection
    label.pack(pady=10)
images = convert_pdf_to_images("input.pdf")
# Load and display the images in the Frame
for image_path in images:
    image = Image.open(image_path)
    photo = ImageTk.PhotoImage(image)
    label = Label(frame, image=photo)
    label.image = photo  # Store a reference to prevent garbage collection
    label.pack(pady=10)
PYTHON

Jak przekonwertować plik PDF na tekst w języku Python (samouczek), rysunek 3: Plik wejściowy Plik wejściowy

Uruchom główną pętlę GUI

Na koniec uruchommy główną pętlę zdarzeń za pomocą window.mainloop(). Dzięki temu okno GUI pozostaje otwarte i reaguje na polecenia, dopóki nie zostanie zamknięte przez użytkownika.

window.mainloop()
window.mainloop()
PYTHON

Jak przekonwertować plik PDF na tekst w języku Python (samouczek), rysunek 4: Wygląd interfejsu użytkownika Wygląd interfejsu użytkownika

Wnioski

W tym samouczku omówiono sposób wyświetlania dokumentów PDF w języku Python przy użyciu biblioteki IronPDF. Obejmowało to kroki niezbędne do otwarcia pliku PDF i przekształcenia go w serię plików graficznych, a następnie wyświetlenia ich na przewijanym obszarze roboczym oraz obsługi czyszczenia wyodrębnionych obrazów po zamknięciu aplikacji.

Więcej szczegółów na temat biblioteki IronPDF for Python można znaleźć w dokumentacji.

Pobierz i zainstaluj bibliotekę IronPDF for Python, a także skorzystaj z bezpłatnej wersji próbnej, aby przetestować jej pełną funkcjonalność w komercyjnym programowaniu.

Często Zadawane Pytania

Jak mogę wyświetlać pliki PDF w języku Python?

Możesz użyć biblioteki IronPDF do przeglądania plików PDF w języku Python. Pozwala ona na konwersję stron PDF na obrazy, które następnie mogą być wyświetlane w aplikacji GUI przy użyciu Tkinter.

Jakie kroki trzeba wykonać, żeby stworzyć przeglądarkę PDF w Pythonie?

Aby stworzyć przeglądarkę plików PDF w języku Python, należy zainstalować bibliotekę IronPDF, użyć biblioteki Tkinter do obsługi interfejsu graficznego oraz biblioteki Pillow do przetwarzania obrazów. Strony PDF należy przekonwertować na obrazy za pomocą biblioteki IronPDF i wyświetlić je na przewijanym obszarze roboczym utworzonym przy użyciu biblioteki Tkinter.

Jak zainstalować IronPDF for Python do wykorzystania w projekcie w języku Python?

Możesz zainstalować IronPDF za pomocą pip, uruchamiając polecenie pip install ironpdf w terminalu lub wierszu poleceń.

Jakie biblioteki są potrzebne do stworzenia aplikacji do przeglądania plików PDF w języku Python?

Będziesz potrzebować biblioteki IronPDF do obsługi plików PDF, Tkinter do obsługi interfejsu graficznego oraz Pillow do przetwarzania obrazów.

Czy mogę wyodrębnić obrazy z pliku PDF za pomocą języka Python?

Tak, IronPDF umożliwia wyodrębnianie obrazów z plików PDF, które następnie można przetwarzać lub wyświetlać za pomocą biblioteki Pillow.

Jak przekonwertować stronę PDF na obraz w języku Python?

Możesz użyć funkcji IronPDF do konwersji stron PDF na formaty graficzne, które następnie można edytować lub wyświetlać w aplikacji Python.

Jak obsłużyć zamknięcie okna w aplikacji do przeglądania plików PDF napisanej w języku Python?

W aplikacji do przeglądania plików PDF można obsłużyć zamknięcie okna poprzez wyczyszczenie wyodrębnionych obrazów i zapewnienie prawidłowego zwolnienia wszystkich zasobów, często przy użyciu funkcji obsługi zdarzeń Tkinter.

Jak zabezpieczyć pliki PDF w języku Python?

IronPDF oferuje opcje zwiększające bezpieczeństwo plików PDF poprzez dodawanie haseł i ograniczeń użytkowania do plików PDF.

Jaka jest zaleta używania Tkinter w aplikacji do przeglądania plików PDF?

Tkinter pozwala na stworzenie przyjaznego dla użytkownika interfejsu graficznego dla przeglądarki plików PDF, udostępniając funkcje takie jak przewijane widoki do poruszania się po stronach PDF.

Jaki jest cel użycia biblioteki Pillow w projekcie związanym z plikami PDF?

Pillow jest używany w projekcie PDF do przetwarzania obrazów, np. do ładowania i wyświetlania obrazów wyodrębnionych z plików PDF za pomocą IronPDF.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie