Προσθαφαίρεση σελίδων σε αρχείο pdf από τερματικό

Αν θέλουμε απλά να προσθέσουμε ή να αφαιρέσουμε κάποιες σελίδες σε/από ένα pdf αρχείο, δεν χρειάζεται να ψάξουμε για εξωτερικές εφαρμογές.

Είναι πανεύκολο και έχουμε ήδη το κατάλληλο εργαλείο στο τερματικό μας.

Με την εντολή pdfseparate μπορούμε να εξάγουμε όσες σελίδες θέλουμε από ένα αρχείο pdf ή ακόμα και να το “σπάσουμε” όλο σε ξεχωριστές σελίδες.

Παράμετροι:

-f Ορίζει την πρώτη σελίδα που θα εξαχθεί. Εάν παραλειφθεί, τότε η εξαγωγή αρχίζει από την πρώτη σελίδα του pdf.
-l Ορίζει την τελευταία σελίδα προς εξαγωγή. Εάν παραλειφθεί, η εξαγωγή θα σταματήσει στην τελευταία σελίδα του αρχείου μας.

Παράδειγμα 1

pdfseparate -f 3 -l 5 Αρχείο.pdf Νέο-%d.pdf
Το αποτέλεσμα θα είναι να εξαχθούν οι σελίδες 3 έως 5 και να έχουμε πλέον τα αρχεία

Αρχείο.pdf (παραμένει ως είχε), Νέο3.pdf, Νέο4.pdf, Νέο5.pdf.

Παράδειγμα 2

pdfseparate Αρχείο.pdf Νέο-%d.pdf

Το αποτέλεσμα θα είναι να εξαχθούν όλες οι σελίδες του .pdf αρχείου.

Αντίστοιχα με την εντολή pdfunite μπορούμε να συνενώσουμε όσες σελίδες .pdf θέλουμε σε ένα αρχείο.

Παράδειγμα:

pdfunite Σελίδα7.pdf Σελίδα4.pdf Αρχείο.pdf
με προφανή αποτελέσματα.

Να σημειώσουμε ότι εκτός απροόπτου η εκτέλεση της εντολής δεν επιστρέφει κάποιο αποτέλεσμα στο τερματικό.

Σε κάθε περίπτωση με:

pdfseparate -h και
pdfunite -h

μπορούμε να δούμε όλες τις παραμέτρους των εντολών στο τερματικό μας.

11 «Μου αρέσει»

Καλησπέρα, με το “εξωτερικές εφαρμογές” εννοείς εφαρμογές με γραφικό περιβάλλον όπως το PDF Arranger και το PDF sam ή κάτι άλλο;

Καλησπέρα. Το πιο πιθανό είναι να εννοεί εφαρμογές που δεν είναι μέρος του λειτουργικού. Δεν έχει να κάνει με το γραφικό περιβάλλον αλλά αν προϋπάρχουν ή όχι.

1 «Μου αρέσει»

'Iσως εννοεί αυτό, αν και είχα την εντύπωση ότι σε κάποιες διανομές παρόμοιες εφαρμογές είναι προεγκατεστημένες.

1 «Μου αρέσει»

Εννοώ ότι δε χρειάζεται να εγκαταστήσουμε κάποια νέα εφαρμογή καθώς υπάρχει ήδη μία εγκατεστημένη.

Στην πραγματικότητα και για να είμαστε ακριβείς, μιλάμε για τη βιβλιοθήκη Poppler με την οποία μπορούμε να επεξεργαστούμε αρχεία pdf.
Αυτή η βιβλιοθήκη χρησιμοποιείται από πολλές άλλες εφαρμογές, με γραφικό περιβάλλον, όπως το Libreoffice, το Inkscape, το Okular κλπ.

Οι περισσότερες διανομές και κυρίως οι mainstream, έρχονται με προεγκατεστημένο το πακέτο poppler-utils (που βασίζεται στη βιβλιοθήκη poppler). Πρόκειται για μια συλλογή εργαλείων που βοηθούν στην επεξεργασία pdf αρχείων, όπως την εξαγωγή εικόνων από ένα pdf ή τη μετατροπή του σε html format. Μία λίστα με τις (CLI) δυνατότητες του πακέτου είναι αυτή.

Έχω δει σε αρκετά fora, χρήστες να αναζητούν εφαρμογές, για να κάνουν μερικές απλές εργασίες στα pdf αρχεία τους και τα poppler-utils είναι μια καλή λύση από γραμμή εντολών. Κατά τη γνώμη μου ο κύκλος εκμάθησης μιας εντολής είναι ταχύτερος από αυτόν της αναζήτησης μιας gui εφαρμογής και της περιπλάνησης στα μενού της, αλλά αυτό είναι προσωπικό :slight_smile:

3 «Μου αρέσει»

Ευχαριστώ για την αναλυτική δευκρίνιση περί “εξωτερικών εφαρμογών”!

Εγώ πάλι έχω συνηθίσει να χρησιμοποιώ εφαρμογές με γραφικό περιβάλλον
και έτσι το PDF sam με βολεύει πολύ στο να αποσπώ σελίδες (που συνήθως περιέχουν πίνακες στοιχείων, φωτογραφίες περιστατικών, δεδομένα, βιβλιογρφία κλπ) από μεγάλα βιβλία την ώρα που τα διαβάζω γιά μετέπειτα επεξεργασία και το PDF Arranger όταν φτιάχνω απλά δικά μου πολυσέλιδα αρχεία pdf και δύσκολα θα αφήσω την ευκολία του γραφικού περιβάλλοντος.

Αλλά όπως λες και εσύ πιο πάνω, περί ορέξεως…

1 «Μου αρέσει»

Ενδιαφέρον. Εγώ χρησιμοποιώ το pdftk (και κάποια στιγμή πέρασα στη -java παραλλαγή), επειδή αυτό έμαθα όταν είχα κάποτε ψάξει για το πως να κόψω/ενώσω pdfs και δεν γνώριζα πως το poppler ερχόταν με αυτά τα εργαλεία. Με pdftk οι διεργασίες γίνονται:

for i in {3..5}; do pdftk Αρχείο.pdf cat $i output Νέο-$i.pdf; done  # παρ. 1
pdftk Αρχείο.pdf burst output Νέο-%d.pdf  # παρ. 2
pdftk Σελίδα7.pdf Σελίδα4.pdf cat output Αρχείο.pdf  # παρ.

Ναι, δεν είναι και πολύ καλό στο πρώτο παράδειγμα (εξαγωγή μονών σελίδων). Αλλά μπορεί να κάνει κι αυτά:

pdftk Αρχείο.pdf cat 2-3 20-end output Νέο_με_συγκεκριμένες_σελίδες.pdf
pdftk A=Αρχείο1.pdf B=Αρχείο2.pdf cat A2-3 B20-end A1 Νέο_με_μίξη_σελίδων.pdf
pdftk Αρχείο.pdf cat 1-3 4left 5-end output Νέο_με_στροφή_κάποιας_σελίδας.pdf
1 «Μου αρέσει»