Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Λοιπόν, δουλεύω πάνω σε μια εφαρμογή PHP που έχει σαν στόχο να τυπώνει ένα pdf με μια εικόνα (background) καθώς και λίγο κείμενο. Βρήκα ενδιαφέρουσα και χρησιμοποίησα την βιβλιοθήκη fpdf.

Έχω μια σελίδα με την εικόνα background σε HTML canvas και ο διαχειριστής μπορεί να κάνει click ώστε να αποθηκευτούν οι συντεταγμένες x,y του σημείου που έκανε click.

Σε αυτό το σημείο (x,y) θέλουμε να εμφανιστεί μια σειρά κειμένου.

Το θέμα: δεν έχω καταφέρει να καταλάβω τη λογική της τυπογραφίας σε pdf ώστε να κάνω την εφαρμογή ακριβής.

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

Με λίγες δοκιμές, κατέληξα σε αυτό που φαίνεται κάπως να δουλεύει:

$pdf->Text(($x/3.7795) + 12, ($y/3.7795) + 16, 'Petros');

...αλλά δεν κατανοώ γιατί αυτές οι τιμές το κάνουν να δουλεύει, πχ το 3.7795 το βρήκα με αναζήτηση στο Google και μετά και από δοκιμές έβαλα και τα +12 και +16.

Θα ήθελα προτάσεις βελτίωσης / πως πραγματικά μπορώ να υπολογίσω τις σωστές συντεταγμένες, ώστε να δουλεύει για κάθε pdf output και για κάθε εικόνα σε canvas (σελίδα διαχείρισης).

 

Επεξ/σία από philos
Δημοσ. (επεξεργασμένο)

Ας σου εξομολογηθώ κάτι. Ούτε και εγώ έχω κάνει fully grasp παρόμοια βιβλιοθήκη (TCPDF, mPDF), αλλά το X-Y  του εκάστοτε αντικειμενου, ξεκινά από την αριστερή γωνία με την τιμή 0,0 όσο το αυξάνεις τόσο δεξιά  και κάτω πας όσο το μειώνεις τόσο ποιο αριστερά πας.

Σε κάθε αντικείμενο που ζωγραφίζεις ορίζεις το χ και y της πάνω αριστερής γωνίας του εκάστοτε κάθε αντικείμενο πιάνει ένα τετραγωνάκι με w πλατος και h ύψος.

Τέλος, η σελίδα έχει και αυτή ένα πλάτος wp και ένα ύψος hp. Άρα μπορείς να υπολογίζεις το x και y του εκάστοτε αντικειμένου εν συναρτήση με το ύψος και πλάτος του εκάστοτε αντικειμένου, το ύψος και πλάτος των άλλων αντικειμένων και τέλος το ύψος και πλάτος της σελίδας.

 

Επεξ/σία από PC_MAGAS
Δημοσ.

Εκτιμώ ότι είναι κάποιος συντελεστής για να γίνει η αντιστοίχιση από τα pixels του canva στα mm του pdf. Για να το δεις ακριβώς προσπάθησε να δώσεις στον canva σου τουλάχιστον την αντιστοίχιση της Α4 δηλαδή 29.7/21 h/w (εφόσον το προορίζεις για Α4 ή ότι άλλο αντίστοιχα)  μετά ίσως δεν έχεις τουλάχιστον τα +

Δημοσ.

Μα το fpdf έχει δυνατότητα να επιλέξεις μονάδες AFAIK και συνήθως είναι σε ppt (χωρίς να βάζω το χέρι μου στο Ευαγγέλιο oύτε στο Evangelion)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...