Masz około 500 plików PDF do przejrzenia i wyodrębnienia pierwszej strony. Następnie muszą przejść przez czasochłonny proces konwersji, więc mieli nadzieję zaoszczędzić trochę czasu, wykonując proces wsadowy, aby wyodrębnić tylko pierwszą stronę z 500 plików pdf i umieścić ją w nowym pliku pdf. Miałem kłopoty z Acrobatem, ale nie mogę znaleźć prawdziwej metody na zrobienie tego dla wielu plików. Czy ktoś zna jakieś inne programy lub metody, które można by to osiągnąć? Bezpłatne i open source są oczywiście bardziej korzystne :)
EDYCJA: Odniosłem pewien sukces, używając GhostScript do wyodrębnienia tylko jednej strony. Zastanawiam się teraz, jak to zrobić wsadowo, wziąć listę plików i użyć ich.
pdf
open-source
Tim Alexander
źródło
źródło
Odpowiedzi:
Korzystanie z pdftk ...
W systemach Mac i Linux z wiersza polecenia.
for file in *.pdf ; do pdftk "$file" cat 1 output "${file%.pdf}-page1.pdf" ; done
W systemie Windows można utworzyć plik wsadowy. Otwórz Notatnik, wklej to w środku:
for %%I in (*.pdf) do "pdftk.exe" "%%I" cat 1 output "%%~nI-page1.pdf"
Może być konieczne zastąpienie „pdftk.exe” pełną ścieżką do pdftk, np.
"C:\Program Files\pdftk\pdftk.exe
Lub cokolwiek to jest. (Nie używam systemu Windows, więc nie wiem).Zapisz go z rozszerzeniem kończącym się na .bat, upuść w folderze z plikami PDF i kliknij dwukrotnie.
Możesz zrobić to samo z Ghostscript, tak.
Zobaczmy. W przypadku komputerów Mac i Linux (wszystkie w jednym wierszu):
for file in *.pdf ; do gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="${file%.pdf}-page1.pdf" -dFirstPage=1 -dLastPage=1 "$file" ; done
Nie jestem do końca pewien, jakie byłoby odpowiednie polecenie dla pliku wsadowego systemu Windows. Moje najlepsze przypuszczenie (- nie mam okien, więc nie mogę przetestować--):
for %%I in (*.pdf) do "C:\Program Files\gs\gs9.00\gswin32c.exe" -dSAFER -dNOPAUSE -dBATCH -sDEVICE#pdfwrite -sOutPutFile#"%%~nI-page1.pdf" -dFirstPage#1 -dLastPage#1 "%%I"
Dokładnie sprawdź, czy ścieżka do pliku wykonywalnego skryptu-widma jest poprawna i cóż, nie testowałem tego, ponieważ nie używam systemu Windows.
EDYCJA: OK, właśnie zdałem sobie sprawę, że prawdopodobnie nie chcesz 500 1-stronicowych plików PDF, ale jeden plik PDF, który łączy je wszystkie. Wystarczy uruchomić powyższe, a otrzymasz 500 jednostronicowych plików PDF. Aby połączyć je za pomocą pdftk ... na Macu i Linuksie:
pdftk *-page1.pdf cat output combined.pdf
Myślę, że prawdopodobnie jest tak samo w systemie Windows, z wyjątkiem być może wymagającej pełnej ścieżki do pdftk, jak wyżej. Możesz po prostu dodać tę linię po linii powyżej w pliku wsadowym.
Z Ghostscript ... na Macu i Linuksie:
gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="combined.pdf" *-page1.pdf
I prawdopodobnie jest tak samo w systemie Windows, z wyjątkiem zastąpienia „gs” na początku pełną ścieżką do gswin32c.exe, jak powyżej.
Może istnieć sposób na wykonanie skryptu ghostscript w jednym kroku, ale jestem zbyt leniwy, aby to rozgryźć.
Jeśli kolejność ich łączenia jest ważna, potrzebujemy więcej informacji.
źródło
Po prostu musiałem to dziś zrobić w Linuksie. Powinien również działać na komputerach Mac. Wykonaj następujące polecenie z terminala.
lpr przesyła zadania do drukarki.
Zwróć uwagę na użycie * znaku w poleceniu. Uruchomiłoby to polecenie dla wszystkich plików PDF w katalogu.
źródło
Myślę, że możesz użyć wirtualnej drukarki pdf, takiej jak pdf-forge.
Po prostu „drukujesz” pierwszą stronę, teraz na komputerze Mac i nie mogę jej wypróbować, ale jestem pewien, że możesz to zrobić więcej niż jeden na raz.
Powodzenia!!
Trufa
źródło
jak dla polecenia pliku wsadowego systemu Windows (.bat) (%% dotyczy zmiennych w pliku nietoperza)
ekstrakcja pierwszej strony pdf jako jpg o zmniejszonej rozdzielczości / rozmiarze
for %%I in (*.pdf) do "C:\Program Files (x86)\gs\gs9.14\bin\gswin32c.exe" -dSAFER -dNOPAUSE -dBATCH -sDEVICE#jpeg -r20 -sOutputFile#"%%~nI.jpg" -dFirstPage#1 -dLastPage#1 "%%I"
(w powyższym poście sOutputFile został napisany niepoprawnie .. i przy bieżącej ścieżce standardowej instalacji gs x86)
(spójrz także za pomocą Ghostscript do konwersji wielostronicowego pliku PDF na pojedynczy plik JPG? )
źródło
W systemie Linux
Napisałem ten wiersz poleceń
Ale to działa, przetestowałem to, działa również z tyloma poziomami folderów, jakie masz. Po prostu upewnij się, że uruchamiasz go jako katalog główny struktury folderów. Każdy folder będzie miał dla każdego pliku pdf dodatkowy pdf kończący się
.firstpage.pdf
Potrzebujesz
pdftk
itree
do tego, a na Ubuntu Linux możesz zainstalować go z apt:źródło
Lub użyj cpdf https://www.coherentpdf.com/ocaml-libraries.html :
źródło