Jak przekonwertować plik .pdf na folder zdjęć?

16

Mam kilka plików .pdf, które chciałbym przekonwertować na preferowany format odczytu .cbr lub .cbz lub, jeśli nie jest to bezpośrednio możliwe, muszę wyodrębnić wszystkie strony z .pdf jako obrazy, a następnie skompresować je do postaci mój wybrany format. Udało mi się zapisywać strony pojedynczo za pomocą Przeglądarki dokumentów. Oczywiście chciałbym to zrobić trochę szybciej. Próbowałem pdfsam, pdf shuffler i pdfmod bez powodzenia. Używam Ubuntu 11.10.

Shawn
źródło

Odpowiedzi:

14

OK, zrobiłem więcej badań i chociaż metoda tohuwawohu działa, odkryłem, że łatwiej jest użyć programu o nazwie pdftoppm, aby osiągnąć to, co chciałem zrobić. Ponieważ jestem prawie laikiem, jeśli chodzi o korzystanie z aplikacji wiersza poleceń, postaram się wyjaśnić, jak to dla mnie działa.

  1. Przejdź do folderu zawierającego plik .pdf, który chcesz edytować, i otwórz tam terminal. Zrobiłem to za pomocą przykładowego polecenia:

    cd ~/Documents/PDF
    
  2. Powiedzmy, że plik, który chcę edytować, nazywa się Sample.pdf. Chcę użyć pdftoppm do utworzenia plików obrazów na każdej stronie .pdf. Można wybrać kilka formatów (patrz link do stron podręcznika powyżej), ale wolę używać .png. Podstawowe polecenie wygląda następująco:

    pdftoppm -FORMAT FILENAME.pdf PREFIX
    

    lub w powyższym przykładzie:

    pdftoppm -png Sample.pdf Sample
    

    To polecenie tworzy plik obrazu każdej strony w tym samym folderze, co oryginalny plik .pdf o nazwach takich jak Sample-01.png, Sample-02.png i tak dalej. Próbowałem pomyślnie z rozszerzeniami .png i .jpeg. .jpg najwyraźniej nie jest obsługiwany.

  3. Następnie korzystam z Archive Managera , wybierając wszystkie nowo utworzone pliki obrazów, klikając prawym przyciskiem myszy i wybierając „Kompresuj” z menu kontekstowego. Następnie wybieram preferowany format archiwum (w tym przypadku .cbz lub Comic Book Zip) i tworzę nowe archiwum.

  4. Teraz mam nowy błyszczący plik .cbz o nazwie Sample.cbz, który mogę następnie wyświetlić za pomocą mojego czytnika Comix !

Mam nadzieję, że to, co napisałem powyżej, ma na tyle sensu, że ktoś inny może się z tego nauczyć. Jeśli muszę to zmienić w jakikolwiek sposób, proszę dać mi znać.

Shawn
źródło
Bardzo dobrze! Wydaje się, że pdftoppmw rzeczywistości jest łatwiejszy w użyciu niż ImageMagick convert.
tohuwawohu
tak, to bardzo pomocne i łatwe. Chcę po prostu wiedzieć. można dodać prefiks alfa. Podobnie jak prefiks-a, prefiks-b, prefiks-c, w ten sposób
Pankaj Badukale
pdftoppmjest bardzo wolny i używa całej pamięci RAM na moim komputerze. pdfimages -jdziałało znacznie lepiej.
Eric Duminil,
4

Nie znam się na * .cbr / * .cbz, ale wygląda na to, że będziesz musiał połączyć dwa kroki:

  1. Konwertuj pliki PDF na obrazy
  2. Skompresuj je do archiwum ZIP / RAR.

Jeśli chodzi o etap 1, można użyć ImageMagick „s convertpolecenie. Możesz podawać convertplik PDf zawierający wiele stron, a convertkażda strona zostanie zwrócona jako pojedynczy plik graficzny. Przetestowałem go z tekstem skanowanym w rozdzielczości 400 dpi, a następujące polecenie zaowocowało ładnymi pojedynczymi plikami JPGE:

$ convert -verbose -colorspace RGB -interlace none -density 400 -quality 100 yourPdfFile.pdf 00%d.jpeg

(napisy dotyczące -qualityopcji: ten wpis na forum )

W rezultacie, można dostać 000.jpeg, 001.jpegi tak dalej. Po prostu spakuj je do .cbzpliku i gotowe.

Możesz nawet połączyć oba kroki, łącząc je:

$ convert -verbose -colorspace RGB -interlace none -density 400 -quality 100 yourPdfFile.pdf 00%d.jpg && zip -vm comic.cbz *.jpg

(upewnij się, że w bieżącym katalogu roboczym nie ma żadnych innych plików JPEG, ponieważ używając powyższego kodu, zip przeniesie wszystkie pliki JPEG do pliku cbz)

tohuwawohu
źródło
4

Napisałem prosty skrypt bash właśnie w tym celu, będziesz potrzebował zainstalowanego popplera, więc:

sudo apt-get install poppler-utils #ubuntu
brew install poppler # mac

Oto skrypt bash (zapisz go jako convert_to_cbz.sh):

filename="${1%.*}"
echo "Converting $filename to cbz"
mkdir "./$filename"
pdftoppm -jpeg "$1" "./$filename/000"
zip -r9 "${filename}.cbz" "./$filename" 
rm -rf "./$filename"

Aby użyć skryptu bash:

chmod +x convert_to_cbz.sh
./convert_to_cbz.sh "Nintendo Official Magazine 066 (OldGameMags).pdf"

Mam nadzieję, że będzie to przydatne dla kogoś!

Alasdair Morrison
źródło
Cudownie, dzięki. Musiałem jednak trochę zmienić skrypt. pdftoppmzużyłem całą pamięć RAM i zawiesiłem komputer. Zastąpienie czwartej linii pdfimages -j "$1" "./$filename/000" załatwiło sprawę. Działa dobrze, jest szybki, wydaje się, że nie ma żadnej utraty jakości, a plik cbz jest nieco mniejszy niż oryginalny plik pdf. pdfimagesjest również uwzględnione w poppler-utils.
Eric Duminil,
3

Spróbuj użyć kalibru, aby bezpośrednio przekonwertować plik .pdf na .cbr lub .cbz.

bntser
źródło
Dzięki za sugestię, ale dla mnie użycie Calibre jako rozwiązania nie zadziała. Zainstalowałem program i przykro mi powiedzieć, że wystaje jak obolały kciuk na moim pulpicie! Odkryłem również, że użycie poniższej komendy pdftoppm jest DROGA szybsze niż instalowanie i konfigurowanie Calibre przed konwersją.
Shawn
@Shawn Tak, powiedziałbym, że Calibre jest brzydki i wolny, ale spełnia swoją rolę. Cieszę się, że znalazłeś lepsze rozwiązanie :)
bntser
1

Wydaje się, że najłatwiejszym sposobem jest użycie Acrobat Pro.

  1. Otwórz PDf w Acrobat Pro.
  2. Po otwarciu pliku przejdź do FileExportImageJPEG, każda strona zostanie wyeksportowana jako pojedynczy plik JPG.
  3. Umieść wszystkie pliki JPG w folderze
  4. Zip folder.
  5. Ręcznie zmień rozszerzenie na końcu spakowanego pliku z .zip na .cbz

Jeśli wolisz plik CBR , spakuj folder zamiast spakować go, a następnie zmień rozszerzenie z .rar na .cbr .

Eric Vincent
źródło