Eksportuj obrazy z PDFów
Kiedy potrzebujesz wyciągnięcia obrazu z pliku PDF
Czasami istnieje realna potrzeba zapisania obrazu z pliku PDF bez potrzeby robienia zrzutu ekranu lub renderowania PDF na ekranie.
pdfimages
pomaga w tym.
Aby wyodrębnić obrazy z pliku PDF w systemie Linux, najczęściej używanym i skutecznym narzędziem jest narzędzie wiersza poleceń pdfimages,
które jest częścią pakietu poppler-utils
.
Użycie narzędzia pdfimages
w systemie Linux: 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 jakoobraz-000.ppm
,obraz-001.ppm
itd. w określonym katalogu wyjściowym.
4. Wyodrębnianie obrazów 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ębnianie obrazów 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 to obsługuje Twoja wersja). - Dla zaszyfrowanych plików PDF: użyj
-opw 'hasło_właściciela'
lub-upw 'hasło_użytkownika'
.
Uwagi
- Domyślnym formatem wyjścia jest 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 jakconvert
z ImageMagick, jeśli to konieczne. - Pliki wyjściowe są automatycznie numerowane i zapisywane w określonym katalogu.
Tabela podsumowująca
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 'hasło' -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. Jednak:
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żądany DPI podczas tworzenia obrazu.
Jak zapisać obrazy z PDF w określonej rozdzielczości.
Nie możesz określić rozdzielczości wyodrębnionych obrazów, korzystając z pdfimages
, ponieważ to narzędzie wyodrębnia osadzone obrazy w ich oryginalnym formacie i rozdzielczości bez ponownego próbkowania lub 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ę lub 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
). Za pomocą PyMuPDF możesz określić pożądaną rozdzielczość, używając parametru dpi
podczas renderowania strony do obrazu:
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 rasteryzowany obraz strony w określonym DPI, zamiast wyodrębniania oryginalnych osadzonych obrazów.
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ć lub ponownie próbkować je. Najlepsze opcje obejmują:
-
Adobe Acrobat Pro: Oferta dedykowanego narzędzia „Export All Images”, które 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 pakietu XPDF/Poppler): 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 szukających darmowego, wysokiej jakości procesu wyodrębniania. -
Narzędzia online (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ą podnosić pytania dotyczące prywatności dla wrażliwych dokumentów.
Tabela podsumowująca
Oprogramowanie/Narzędzie | Platforma | Zachowuje oryginalną rozdzielczość | Uwagi |
---|---|---|---|
Adobe Acrobat Pro | Windows/Mac | Tak | Płatne, profesjonalne, bardzo niezawodne |
pdfimages (Poppler) | Linux/Windows | Tak | Darmowe, open-source, narzędzie wiersza poleceń |
PDF24 Tools, PDFCandy | Web-based | Tak | Darmowe, łatwe w użyciu, pytania 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 : dołącz numer strony do nazw plików wyjściowych
-q : nie wyświetlaj żadnych wiadomości 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