ImageMagic

Η ΑΝΑΓΚΗ

Η τηλε-εκπαίδευση μπορεί να ήταν και πολύ βοηθητική για κάποιους, αφού δεν ήταν απαραίτητο να κρατούν σημειώσεις σε χαρτί κατά την ώρα της παράδοσης, αλλά να παρακολουθούν τον καθηγητή και να κατανοούν καλύτερα το αντικείμενο. Η εμπέδωση γίνεται με την επανάληψη των αρχείων που παρέχουν οι καθηγητές μέσω πλαφόρμας ασύγχρονης εκπαίδευσης του κάθε ιδρύματος. Αντί χειρόγραφων σημειώσεων, δίνεται η δυνατότητα της λήψης στιγμιοτύπου οθόνης (screenshot), με ότι πιθανές σημειώσεις έχει γράψει ο καθηγητής. Πως μπορείτε να λάβετε ένα στιγμιότυπο οθόνης; Δείτε παρακάτω για τα διαφορετικά λειτουργικά συστήματα:

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

ΤΟ ΠΡΟΒΛΗΜΑ

Μετά από λίγη αναζήτηση στο Internet, η λύση ήταν απλή. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή:

convert *.png out.pdf

Αυτό που κάνει η παραπάνω εντολή είναι να πάρει όλα τα αρχεία με κατάληξη .png και τα προσθέτε σε ένα αρχείο .pdf. Όμως με την εκτέλεση αυτής της εντολής, λάμβανα ένα μήνημα σφάλματος:

convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408. convert: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3288.

Μετά από λίγη αναζήτηση, βρήκα στο stackoverflow παρόμοιο πρόβλημα. Να δούμε τι λύση δώσανε λοιπόν.

Η ΛΥΣΗ

Ουσιαστικά έπρεπε να δικαιώματα εγγραφής στο ImageMagick.

sudo nano /etc/ImageMagick-6/policy.xml 

Στην περίπτωσή σας μπορεί να είναι το αρχείο /etc/ImageMagick-7/policy.xml, ανάλογα με την έκδοση του ImageMagick που έχετε.

Ουσιαστικά πρέπει να σβήσετε ένα κομμάτι και να προσθέσετε μια γραμμή. Προσωπικά κράτησα με σχόλιο όπως βλέπετε παρακάτω:

<!--
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="PS2" />
<policy domain="coder" rights="none" pattern="PS3" />
<policy domain="coder" rights="none" pattern="EPS" />
<policy domain="coder" rights="none" pattern="PDF" />
<policy domain="coder" rights="none" pattern="XPS" />
-->

Και μετά πρόσθεσα την παρακάτω γραμμή:

<policy domain="module" rights="read|write" pattern="{PS,PS2,PS3,EPS,PDF,XPS}">

Επειδή οι εικόνες είναι πολλές σε αριθμό, μπορεί να μην σας τις προσθέσει όλες με την πρώτη. Καλύτερα είναι να τις προσθέσετε ανά μάθημα και στο τέλος να ενώσετε τα pdf με την εντολή:

pdfunite *.pdf out.pdf

Αυτό υπάρχει στα εργαλεία poppler-utils. Για περισσότερες πληροφορίες πως μπορείτε να ενώσετε πολλά pdf σε ένα, δείτε σε προηγούμενο άρθρο.

Κοινοποιήστε το παρόν άρθρο σε φίλο σας που προσπαθεί να ενώσει πολλές εικόνες σε ένα pdf. Θα του σώσετε αρκετό χρόνο.

Αρχικό post:
https://eiosifidis.blogspot.com/2021/02/enosi-eikonon-se-pdf.html