Εχετε μια σειρά από εικόνες JPEG ή PNG (ή tiff ή ότι άλλο θέλετε) και θέλετε να δημιουργήσετε ένα PDF όπου κάθε σελίδα θα έχει τις εικόνες με την ίδια σειρά. Στη γραμμή εντολών του Linux αυτό γίνεται εύκολα με τη χρήση του εργαλείου convert (χρειάζεστε το πακέτο Imagemagick).
Η εντολή που χρειάζεστε έχει τη μορφή:
convert image1.png image2.png ... imageX.png output.pdf
Δηλαδή, πρώτα γράφετε τα ονόματα των εικόνων και στο τελευταίο όρισμα ορίζετε το όνομα του αρχείου PDF που θέλετε να δημιουργηθεί. Προφανώς, με τον ίδιο τρόπο μπορείτε απλά να μετατρέψετε μια και μόνο εικόνα (JPG, PNG, κλπ) σε PDF.
Για παράδειγμα, εγώ είχα 18 εικόνες (td2159.jpg έως td2176.jpg) τις οποίες ανά δύο έπρεπε να τις βάλω σε ένα δισέλιδο PDF. Οι εντολές που έδωσα ήταν:
convert td2159.jpg td2160.jpg 1.pdf convert td2161.jpg td2162.jpg 2.pdf convert td2163.jpg td2164.jpg 3.pdf convert td2165.jpg td2166.jpg 4.pdf convert td2167.jpg td2168.jpg 5.pdf convert td2169.jpg td2170.jpg 6.pdf convert td2171.jpg td2172.jpg 7.pdf convert td2173.jpg td2174.jpg 8.pdf convert td2175.jpg td2176.jpg 9.pdf
Σημαντική Σημείωση:
Επειδή το convert είναι πανίσχυρο εργαλείο, όταν τρέχει σε web server είναι πιθανή αιτία για κενά ασφαλείας. Γι' αυτό το λόγο, πολλές μοντέρνες διανομές Linux, όπως το Ubuntu, εφαρμόζουν εξορισμού μια ΠΟΛΥ περιοριστική πολιτική για το τι μπορεί και τι δεν μπορεί να κάνει κάποιος με το convert! Αυτή η πολιτική καθορίζεται από ένα policy file, που συνήθως είναι το /etc/ImageMagick-6/policy.xml. Στο Ubuntu 18.04 για παράδειγμα, στο αρχείο αυτό υπάρχει ρύθμιση που απαγορεύει να μετατρέπει ο χρήστης πολλά αρχεία με μιας σε PDF! Μην ρωτάτε γιατί. Για να υπάρχει αυτή η απαγόρευση, κάτι ξέρουν... Ετσι, αν δοκιμάσετε τις παραπάνω εντολές στο Ubuntu θα πάρετε ένα μήνυμα σφάλματος:
$ convert p1.jpg p2.jpg p3.jpg p4.jpg p5.jpg output.pdf convert-im6.q16: not authorized `output.pdf' @ error/constitute.c/WriteImage/1037.
Επομένως για να λειτουργήσουν λοιπόν οι παραπάνω εντολές του άρθρου, θα πρέπει είτε να μετονομάσετε προσωρινά το παραπάνω αρχείο σε κάτι άλλο
sudo mv /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xmlout
ή καλύτερα να κάνετε κάτι λιγότερο δραστικό: να επεξεργαστείτε το αρχείο αυτό και να απενεργοποιήσετε τη συγκεκριμένη ρύθμιση που απαγορεύει την μετατροπή πολλαπλών αρχείων σε PDF. Ανοίξτε το αρχείο με δικαιώματα υπερχρήστη:
sudo nano /etc/ImageMagick-6/policy.xml
και βρείτε τη γραμμή που περιέχει τη λέξη PDF (συνήθως η γραμμή 76 ή κάντε αναζήτηση):
Για να απενεργοποιήσετε τη ρύθμιση γράψτε στην αρχή αυτό: <!-- και στο τέλος της γραμμής αυτό: -->
Δηλαδή να γίνει η γραμμή:
<!-- <policy domain="coder" rights="none" pattern="PDF" /> -->
Μετά αποθηκεύστε το αρχείο, και τώρα οι εντολές θα λειτουργούν μια χαρά!
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε
Σχόλια
Πολυ καλο Δημητρη!
Επισης, μπορει να γινει και το αντιθετο, δηλαδη να εξαγουμε τις εικονες απο καποιο pdf αρχειο εκτελωντας