Wyodrębnij obrazy z PDFów za pomocą popplera

Kiedy musisz wyciągnąć obraz z pliku PDF

Page content

Czasami istnieje rzeczywisty potrzeba zapisania obrazów z PDF bez używania zrzutów ekranu ani renderowania PDF na ekranie. pdfimages pomaga w tym. Niniejszy przewodnik jest częścią naszego Narzędzi do Dokumentacji w 2026: Markdown, LaTeX, PDF i Przepływach Drukowania hub.

Komiczny obraz mężczyzny, który robi zdjęcie diagramu na ekranie

Aby wyodrębnić obrazy z pliku PDF w Linux, najczęściej używanym i najskuteczniejszym narzędziem jest wiersz poleceń pdfimages, który jest częścią pakietu poppler-utils.

Użycie narzędzia pdfimages w Linux: instrukcje krok po kroku

1. Zainstaluj pdfimages (jeśli jeszcze nie jest zainstalowany):

Większość dystrybucji Linux zawiera pdfimages domyślnie. Jeśli jest to konieczne, zainstaluj je za pomocą menedżera pakietów:

sudo apt-get install poppler-utils

lub dla Fedora:

sudo dnf install poppler-utils

2. Otwórz terminal:

Naciśnij Ctrl + Alt + T, aby otworzyć okno terminala.

3. Uruchom pdfimages, aby wyodrębnić obrazy:

Podstawowy składnia:

pdfimages  

Przykład:

pdfimages /ścieżka/do/pliku.pdf /ścieżka/do/wyjścia/obraz
  • To wyodrębni wszystkie obrazy z pliku.pdf i zapisze je jako obraz-000.ppm, obraz-001.ppm itd., w określonym katalogu wyjściowym.

4. Wyodrębnić obrazy jako JPEG (jeśli pożądane):

Aby wyodrębnić obrazy w formacie JPEG (jeśli to możliwe), użyj opcji -j:

pdfimages -j /ścieżka/do/pliku.pdf /ścieżka/do/wyjścia/obraz
  • To zapisze obrazy JPEG jako pliki .jpg.

5. Wyodrębnić obrazy z konkretnych stron:

  • Aby wyodrębnić obrazy z zakresu stron, użyj -f (pierwsza strona) i -l (ostatnia strona):
pdfimages -f 2 -l 5 -j /ścieżka/do/pliku.pdf /ścieżka/do/wyjścia/obraz
  • To wyodrębni obrazy ze stron 2 do 5.

6. Dodatkowe opcje:

  • Aby wyodrębnić obrazy jako PNG: użyj -png (jeśli jest to obsługiwane przez Twoją wersję).
  • Dla zaszyfrowanych PDF, użyj -opw 'ownerpassword' lub -upw 'userpassword'.

Uwagi

  • Domyślny format wyjścia to PPM (kolor) lub PBM (czarno-biały). Użyj -j, aby uzyskać JPEG, lub przekonwertuj pliki PPM/PBM na inne formaty za pomocą narzędzi takich jak convert z ImageMagick, jeśli to konieczne.
  • Pliki wyjściowe są automatycznie numerowane i zapisywane w określonym katalogu.

Tabela podsumowania

Przykład polecenia Opis
pdfimages input.pdf image Wyodrębnia wszystkie obrazy w domyślnym formacie PPM/PBM
pdfimages -j input.pdf image Wyodrębnia obrazy jako JPEG, jeśli to możliwe
pdfimages -f 3 -l 5 input.pdf image Wyodrębnia obrazy ze stron 3 do 5
pdfimages -opw 'password' -j input.pdf image Wyodrębnia obrazy z PDF chronionego hasłem właściciela

Ten sposób jest wydajny i działa dla większości PDF zawierających osadzone obrazy. Ale:

  • pdfimages wyodrębnia obrazy w ich oryginalnej rozdzielczości.
  • Aby kontrolować rozdzielczość wyjścia, użyj biblioteki renderowania PDF takiej jak PyMuPDF i określ pożądaną wartość DPI przy tworzeniu obrazu.

Jak zapisać obrazy z PDF w określonej rozdzielczości.

Nie możesz określić rozdzielczości wyodrębnieionych obrazów, używając pdfimages, ponieważ to narzędzie wyodrębnia osadzone obrazy w ich oryginalnym formacie i rozdzielczości bez odpróbkowania ani zmiany jakości. Rozdzielczość jest określana przez to, jak obrazy były przechowywane w PDF, a pdfimages nie oferuje opcji skalowania w górę ani w dół podczas wyodrębniania.

Jeśli chcesz wyodrębnić obrazy w określonej rozdzielczości (np. renderując stronę lub fragment strony jako obraz w wybranym DPI), musisz użyć biblioteki renderowania PDF, takiej jak PyMuPDF (fitz). Z PyMuPDF możesz określić pożądaną rozdzielczość za pomocą parametru dpi, gdy renderujesz stronę jako obraz:

import fitz  # PyMuPDF
doc = fitz.open("input.pdf")
page = doc.load_page(0)  # pierwsza strona
pix = page.get_pixmap(dpi=300)  # renderuj w 300 DPI
pix.save("output.png")

Ten podejście tworzy obraz rasteryzowany strony w określonej rozdzielczości DPI, zamiast wyodrębnić oryginalne osadzone obrazy.

Inne narzędzia do wyodrębniania obrazów z PDF

Najlepszym oprogramowaniem do wyodrębniania obrazów z PDF bez utraty rozdzielczości są te, które wyodrębniają oryginalne osadzone obrazy bezpośrednio, zamiast renderować je lub zmieniać ich rozdzielczość. Najlepsze opcje to:

  • Adobe Acrobat Pro: Oferta dedykowanej funkcji „Eksportuj wszystkie obrazy”, która wyodrębnia obrazy w ich oryginalnej jakości i formacie jako osobne pliki. Ten sposób jest bardzo niezawodny i zachowuje dokładną rozdzielczość i jakość obrazów przechowywanych w PDF.

  • pdfimages (z XPDF/Poppler suite): Darmowe, open-source narzędzie wiersza poleceń dostępne na Linux i innych platformach. pdfimages wyodrębnia wszystkie obrazy z PDF w ich oryginalnym formacie i rozdzielczości, w tym wsparcie dla JPEG, JPEG2000 i innych formatów. Jest szeroko zalecane dla użytkowników poszukujących darmowego, wysokiej wierności procesu wyodrębniania.

  • Online tools (np. PDF24 Tools, PDFCandy, pdfforge): Te usługi pozwalają przesłać PDF i pobrać wyodrębnione obrazy, zachowując oryginalną rozdzielczość. Są wygodne do szybkich zadań i nie wymagają instalacji, ale mogą budzić obawy co do prywatności dla wrażliwych dokumentów.

Tabela podsumowania

Oprogramowanie/Narzędzie Platforma Zachowuje oryginalną rozdzielczość Uwagi
Adobe Acrobat Pro Windows/Mac Tak Płacony, profesjonalny, bardzo niezawodny
pdfimages (Poppler) Linux/Windows Tak Darmowy, open-source, narzędzie wiersza poleceń
PDF24 Tools, PDFCandy Web-based Tak Darmowy, łatwy w użyciu, rozważania dotyczące prywatności

Główne stwierdzenie:
Zawsze używaj narzędzi, które wyodrębniają (nie renderują ani robią zrzuty ekranu) obrazy. I Adobe Acrobat Pro, i pdfimages są standardami branżowymi w tym zakresie, zapewniając, że obrazy są zapisywane dokładnie tak, jak istnieją w PDF, bez żadnej utraty rozdzielczości.

Opcje wiersza poleceń pdfutils

Podczas wykonywania pdfimages /help zostanie wyświetlone coś takiego:

$ pdfimages /help
pdfimages version 24.02.0
Copyright 2005-2024 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdfimages [options] <PDF-file> <image-root>
  -f <int>       : pierwsza strona do konwersji
  -l <int>       : ostatnia strona do konwersji
  -png           : zmień domyślny format wyjścia na PNG
  -tiff          : zmień domyślny format wyjścia na TIFF
  -j             : zapisz obrazy JPEG jako pliki JPEG
  -jp2           : zapisz obrazy JPEG2000 jako pliki JP2
  -jbig2         : zapisz obrazy JBIG2 jako pliki JBIG2
  -ccitt         : zapisz obrazy CCITT jako pliki CCITT
  -all           : równoważne z -png -tiff -j -jp2 -jbig2 -ccitt
  -list          : wypisz listę obrazów zamiast zapisywania
  -opw <string>  : hasło właściciela (dla zaszyfrowanych plików)
  -upw <string>  : hasło użytkownika (dla zaszyfrowanych plików)
  -p             : dodaj numer strony do nazw plików wyjściowych
  -q             : nie drukuj żadnych komunikatów ani błędów
  -v             : wypisz informacje o prawach autorskich i wersji
  -h             : wypisz informacje o użyciu
  -help          : wypisz informacje o użyciu
  --help         : wypisz informacje o użyciu
  -?             : wypisz informacje o użyciu

Przydatne linki