Jak wyodrębnić obraz z pliku PDF

49

Obecnie używam czytnika PDF Foxit, a ostatnio pobrałem obraz z Internetu, ale znajduje się on w pliku PDF. Jak wyodrębnić ten obraz?

System operacyjny to Windows 7.

studiohack
źródło
twoją ekstrakcją najwyższej jakości będzie ekstrakcja do dowolnego formatu, w którym obraz jest już zapisany w pliku pdf. (przynajmniej myślę, że tak właśnie działają obrazy w pdfach.)
quack quixote

Odpowiedzi:

4

Szybkim sposobem, jeśli nie potrzebujesz oryginalnej rozdzielczości obrazu, jest naciśnięcie klawiszy ALT i przycisku Print Screen. Następnie wybierz wklej gdziekolwiek chcesz obraz.

Innym sposobem zachowania rozdzielczości jest otwarcie pliku PDF w programie do edycji obrazów, takim jak Adobe Photoshop, i praca z nim.

UserSuUserDo
źródło
1
Otwarcie dokumentu PDF w Photoshopie powoduje wyświetlenie okna dialogowego „Rasteryzuj ogólny format PDF”, więc nie można zachować rozdzielczości. Testowane z PS7. Czy nowsze wersje programu Photoshop są inne?
AffineMesh
1
jak powiedziałeś, [alt] + [prnscr] nie zachowuje oryginalnej rozdzielczości pikseli (używa dowolnej rozdzielczości używanej przez twój bieżący ekran / monitor).
Kurt Pfeifle
1
@studiohack, @UserSuUserDo: Nie tylko przegapisz oryginalną rozdzielczość, jeśli użyjesz [alt] + [prnscr], ale dostaniesz pełne okno przeglądarki PDF jako obraz. Może to być „wystarczająco dobre” dla wielu przypadków użycia. Ale czasami chcesz, aby grafika była osadzona tylko na stronie PDF. Tutaj pdfimages.exeprzydaje.
Kurt Pfeifle
1
Lub użyj narzędzia wycinania wbudowanego w W7, aby uchwycić żądany obszar.
Moab
70

Jeśli pobierzesz XPDF dla Windows ( tutaj ), znajdziesz w nim kilka plików .exe. Możesz je uruchomić bez „instalacji”. Użyj w pdfimages.exeten sposób:

pdfimages.exe -help

Wyświetla się ekran pomocy.

pdfimages.exe ^
    -j ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

To wyodrębnia wszystkie pliki JPEG jako przedrostek-00N.jpg, a wszystkie pozostałe obrazy jako przedrostek-00N.ppm (Portable PixMap).

[ Edytuj przez ComFreek: Zwróć uwagę na ukośnik końcowy na ścieżce docelowej, co jest ważne, jeśli nie chcesz wyodrębniać wszystkich obrazów do katalogu nadrzędnego.] -
{ Edytuj przez KurtPfeifle: Nie zgadzam się z komentarzem ComFreek, ale zostaw czytelnikom należy przetestować i samodzielnie sprawdzić różnice w wynikach. Mój oryginalny parametr, nie używając ukośnika końcowego, podobnie jak ..\prefixprzedrostek nazw obrazów używanych dla wyodrębnionych plików.}

pdfimages.exe ^
    -j ^
    -f 11 ^
    -l 13 ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

Tak jak poprzednio, ale ogranicza ekstrakcję obrazu do stron 11 („f” = pierwszy) do 13 („l” = ostatni).


Aktualizacja:

Tymczasem wolę wersję Popplerapdfimages - zwłaszcza, że ​​nabyła tę nową funkcję: dodaj -listdo wiersza poleceń, aby po prostu wyświetlić (a nie wyodrębnić) obrazy zawarte w pliku PDF, a także niektóre z ich właściwości. Przykład:

pdfimages -list -f 7 -l 8 ct-magazin-14-2012.pdf

  numer strony typ szerokość wysokość kolor komp bpc enc interp ID obiektu
  -------------------------------------------------- -------------------
     7 0 obraz 581 838 rgb 3 8 JPEG nr 39 0
     7 1 zdjęcie 4 4 ​​rgb 3 8 zdjęcie nr 40 0
     7 2 zdjęcie 314 332 rgb 3 8 jpx nr 44 0
     7 3 zdjęcie 358430 rgb 3 8 jpx nr 45 0
     7 4 zdjęcie 4 4 ​​rgb 3 8 zdjęcie nr 46 0
     7 5 obraz 4 4 rgb 3 8 obraz nr 47 0
     7 6 obraz 4 6 rgb 3 8 obraz nr 48 0
     7 7 obraz 596 462 rgb 3 8 jpx nr 49 0
     7 8 obraz 4 6 rgb 3 8 obraz nr 50 0
     7 9 obraz 4 4 rgb 3 8 obraz nr 51 0
     7 10 obraz 8 10 rgb 3 8 obraz nr 41 0
     7 11 obraz 6 6 rgb 3 8 obraz nr 42 0
     7 12 obraz 113 27 rgb 3 8 jpx nr 43 0
     8 13 obraz 582 839 szary 1 8 JPEG nr 2080 0
     8 14 obraz 344 364 szary 1 8 jpx nr 2079 0

Uwaga raz: ta wersja pdfimagesjest jednym z Poppler (jeden z Xpdf czy nie (jeszcze) nie obsługuje tej nowej funkcji?), A wersja musi być v0.20.2 lub nowszej.

Kurt Pfeifle
źródło
1
@harlev: Google dla ImageMagick . Ma narzędzie wiersza polecenia, które może przekonwertować wszystko na dowolne nazywane convert. Dostępne dla systemów Linux, Windows, MacOS X i innych. Najprostszy przypadek użycia dla Ciebie: convert some.ppm some.jpeg.
Kurt Pfeifle
3
Uwaga: XPDF nie jest tak aktywnie utrzymywany jak biblioteka poppler, która rozwinęła się z niej jakiś czas temu. Poppler zapewnia pdfimagesrównież, a niektórzy ludzie wolą korzystać z tego.
MvG
1
@BurhanKhalid: Gotowe pliki binarne są tutaj: sourceforge.net/projects/poppler-win32
Kurt Pfeifle
2
@KurtPfeifle Niestety nie zawierają one żadnych plików exe.
Chris
3
Wiem, że jest stary, ale chciałem się nim podzielić, jeśli ktoś szuka plików binarnych dla systemu Windows, możesz go tutaj znaleźć blog.alivate.com.au/poppler-windows
Aivan Monceller
8

Możesz spróbować zaimportować plik PDF do Inkscape i stamtąd pracować. Inkscape otworzy tylko jedną stronę na raz, ale da ci pełną kontrolę nad zawartością strony. Będziesz w stanie dość łatwo wyodrębniać i manipulować grafiką wektorową z pliku PDF.

Jeśli jednak chcesz wyodrębnić obrazy rastrowe z pliku PDF, jestem prawie pewien, że pdfimagesXPDF jest łatwiejszy (ale nadal możesz spróbować użyć Inkscape po nauczeniu się, jak wyodrębniać osadzone obrazy z plików SVG ).

Denilson Sá Maia
źródło
GIMP ( gimp.org ) to kolejne narzędzie do projektowania graficznego, które może importować i manipulować plikami PDF. Nie jestem jednak pewien, w jaki sposób możliwości GIMP kontrastują z tymi w Inkscape.
coderworks
@coderworks: GIMP zrasteryzuje zaimportowaną stronę PDF do określonej rozdzielczości. Innymi słowy, jest to nieco lepsze niż użycie „Print Screen”. Inkscape, z drugiej strony, zachowa oryginalne dane wektorowe, a także oryginalne obrazy rastrowe.
Denilson Sá Maia,
5

Bez instalowania oprogramowania można przejść do przeglądarki PDF-XChange Viewer (wybierz wersję przenośną ), która ma już wbudowaną tę funkcję

  • eksportuje wszystkie lub wybrane strony jako obraz
  • format wyjściowy: PNG, JPG, TIFF, BMP
  • wybierz DPI, poziom kompresji, skalę szarości
  • może zapisać wiele stron jako wielostronicowy TIFF

    wprowadź opis zdjęcia tutaj

    wprowadź opis zdjęcia tutaj
    Kliknij, aby powiększyć


Należy pamiętać, że ta metoda konwertuje całe strony PDF na obrazy, metoda wyjaśniona z @Laurenz przy użyciu Sumatra PDF jest lepsza, jeśli chcesz wyodrębnić obrazy ze strony PDF o mieszanej zawartości (obraz + tekst), aby uzyskać tylko obraz.

nixda
źródło
2
@MarkSeemann Nie mogę śledzić. „Bez instalowania jakiegokolwiek oprogramowania” oznacza w tym kontekście, że dostępna jest wersja przenośna. Nie można „zainstalować” oprogramowania przenośnego zgodnie z definicją. Wystarczy pobrać, rozpakować i uruchomić.
nixda
3
Fakt, że musisz „wybrać DPI”, przeczy celowi. Zmieniasz rozmiar obrazów rastrowych (macierzy pikseli), a każda zmiana rozmiaru obrazu rastrowego powoduje utratę jakości i informacji.
Anthony
konwertować pliki PPM do formatu png lub jpeg?
Kiquenet
4

Sumatra PDF to szybki i lekki czytnik PDF o otwartym kodzie źródłowym, który może kopiować obrazy bezpośrednio do schowka, bez ponownej rasteryzacji.

Laurenz
źródło
3

MuPDF to nowa (utworzona w 2006 r.) Wieloplatformowa przeglądarka plików PDF (stacjonarna i mobilna) wydana na licencji AGPL. Jest utrzymywany przez tych samych ludzi z Ghostscript .

Zawiera narzędzie wiersza polecenia do wyodrębniania obrazów z pliku PDF:

mutool extract [options] file.pdf [object numbers]

Polecenia wyodrębniania można użyć do wyodrębnienia obrazów i plików czcionek z pliku PDF. Jeśli w wierszu poleceń nie podano numerów obiektów, wszystkie obrazy i czcionki zostaną wyodrębnione.

-p password
       Use the specified password if the file is encrypted.

-r     Convert images to RGB when extracting them.
Denilson Sá Maia
źródło
2

użyj pdftocairoz poppler toolkit. Może wyodrębniać i konwertować obrazy pdf do dowolnego pożądanego formatu. Zawsze generuje obrazy i nigdy nie generuje ppm ani niektórych takich bzdur. Następujące polecenie ukrywa strony pdf, aby wyświetlić jego obrazy w formacie jpg:

pdftocairo.exe -jpeg "my.pdf" "my"

Możesz go pobrać tutaj dla systemu Windows: http://blog.alivate.com.au/poppler-windows/

Jest również dostępny w systemie Linux.

MSS
źródło
To polecenie NIE WYCIĄGUJE obrazów osadzonych w pliku PDF (jak poprosił OP). Zamiast tego konwertuje pełne strony PDF do formatów graficznych. Ta odpowiedź nie pasuje do zadanego pytania.
Kurt Pfeifle,
1

http://www.sumnotes.net/ to narzędzie online do wyodrębniania notatek, wyróżnień i zdjęć. Użyłem go szeroko na studiach i byłem bardzo zadowolony.

Tymotka
źródło
Komercyjny z ograniczoną bezpłatną wersją próbną. Jest również online, co oznacza, że ​​nie można zagwarantować prywatności!
Anthony
-1

normalnie wyodrębniam osadzony obraz z „pdfimages” w natywnej rozdzielczości, a następnie używam konwersji ImageMagick do wymaganego formatu:

$ pdfimages -list fileName.pdf
$ pdfimages fileName.pdf fileName   # save in .ppm format
$ convert fileName-000.ppm fileName-000.png

generuje to najlepszy i najmniejszy plik wyników.

Uwaga: W przypadku stratnych osadzonych obrazów JPG konieczne było użycie opcji -j:

$ pdfimages -j fileName.pdf fileName   # save in .jpg format

Na niewielkiej platformie Win trzeba było pobrać najnowszy (0.37, 2015) plik binarny „poppler-util” z: http://blog.alivate.com.au/poppler-windows/

AKTUALIZACJA: W najnowszej wersji „poppler-util” 0,50+ (2016) pdfunite ma opcję „-all”, aby wyodrębnić bezstratną skompresowaną bitmapę jako .png i stratną skompresowaną bitmapę jako .jpg, więc prosta:

$ pdfimages -all nazwa_pliku.pdf nazwa_pliku

wyodrębniaj zawsze z plików PDF najlepszą możliwą jakość

Valerio
źródło
Był wcześniej w odpowiedzi Kurta Pfeifle'a.
daniel.neumann