lordlothar Δημοσ. 25 Μαΐου 2012 Δημοσ. 25 Μαΐου 2012 Καλησπέρα παιδιά. Έχω ένα πρόβλημα και για να το λύσω ,πρέπει να ανοίξω ένα pdf σε C ή C++ και έπειτα να το διαβάσω. Το θέμα είναι ότι όσο και αν έψαξα δεν βρήκα εύκολο τρόπο να το κάνω αυτό, παρά μόνο μερικούς τρόπους για να κάνω extract το κείμενο από ένα pdf. Εγώ θέλω ολόκληρο το pdf, ώστε μετά να το εμφανίσω σε μία οθόνη, μαζί με εικόνες ή ό,τι άλλο αυτό περιέχει. Γνωρίζετε πως? Η μία λύση που σκέφτηκα είναι να βρω κάποιον open source pdf reader και να τον κάνω port. Ευχαριστώ!
nspyrou Δημοσ. 25 Μαΐου 2012 Δημοσ. 25 Μαΐου 2012 Καλημέρα σου, αυτό που έκανα εγώ τουλάχιστον, όταν χρειάστηκα κάτι τέτοιο σε κάποιο corporate project, ήταν να κατεβάσω το PDF Creator (open source, θα το βρείς εδώ), και έκανα εισαγωγή του ActiveX για να χρησιμοποιήσω το viewer ...
lordlothar Δημοσ. 25 Μαΐου 2012 Μέλος Δημοσ. 25 Μαΐου 2012 Αρχικά ευχαριστώ πολύ για την απάντησή σου φίλε. Το δύσκολο σημείο που μάλλον δεν διευκρίνησα παραπάνω είναι ότι όλος ο κώδικας πρέπει να τρέχει σε έναν μικροελεγκτή, σε έναν AVR συγκεκριμένα. Στην ουσία, θα διαβάζει ένα pdf από μία MMC και έπειτα θα το εμφανίζει σε μία οθόνη. Αυτό που μου πρότεινες εσύ δεν είναι μόνο για windows?
moukoublen Δημοσ. 25 Μαΐου 2012 Δημοσ. 25 Μαΐου 2012 Υπάρχει αυτή εδώ η βιβλιοθήκη (Haru Free PDF Library) που λέει ότι είναι σε απλή ANSI C. Ίσως να μπορεί ο κώδικας της να γίνει compile για την πλατφόρμα σου. EDIT: Sorry μόλις διάβασα οτι είναι για κατασκευή pdf. Δε ξέρω αν κάνει και για ανάγνωση. Ρίξε όμως μια ματιά σε αυτές http://en.wikipedia.org/wiki/List_of_PDF_software#Development_libraries
migf1 Δημοσ. 25 Μαΐου 2012 Δημοσ. 25 Μαΐου 2012 Καλησπέρα παιδιά. Έχω ένα πρόβλημα και για να το λύσω ,πρέπει να ανοίξω ένα pdf σε C ή C++ και έπειτα να το διαβάσω. Το θέμα είναι ότι όσο και αν έψαξα δεν βρήκα εύκολο τρόπο να το κάνω αυτό, παρά μόνο μερικούς τρόπους για να κάνω extract το κείμενο από ένα pdf. Εγώ θέλω ολόκληρο το pdf, ώστε μετά να το εμφανίσω σε μία οθόνη, μαζί με εικόνες ή ό,τι άλλο αυτό περιέχει. Γνωρίζετε πως? Η μία λύση που σκέφτηκα είναι να βρω κάποιον open source pdf reader και να τον κάνω port. Ευχαριστώ! Καλησπέρα, όταν λες " δεν βρήκα εύκολο τρόπο" τι εννοείς; Εννοώ πως τον φαντάζεσαι τον εύκολο τρόπο; Με την προϋπόθεση πως το λειτουργικό σου σύστημα υποστηρίζει MIME typeς ή κάποια παραπλήσια τεχνολογία σύνδεσης εφαρμογών με τα docs τους, τότε το πιο εύκολο είναι με μια απλή κλήση της system() και παράμετρο την εντολή του λειτουργικού το οποίο και θα αναλάβει να τρέξει τον εγκατεστημένο viewer του λειτουργικού με το pdf ανοιγμένο μέσα του (π.χ. σε Windows η εντολή είναι η "start" ή "run", σε Linux είναι η "xdg-open" σε Mac είναι η "open", κλπ.) Το επόμενο πιο εύκολο είναι να διαθέτεις έναν pdf viewer μαζί με το πρόγραμμά σου, τον οποίον και θα τον καλείς μέσα από τον κώδικα, περνώντας του ως παράμετρο το pdf που θέλεις να εμφανίσει (ή αυτό που σου είπε ο nspyroy με το ActiveX). Από εκεί και πέρα, αν πρέπει να το κάνεις χειροκίνητα ή θα πρέπει να χρησιμοποιήσεις μια εξωτερική βιβλιοθήκη ή να γράψεις μόνος σου έναν pfd-viewer. Δες τις συμβουλές και τα links που προτείνονται εδώ: http://stackoverflow...pdf-reader-in-c κι εδώ: http://stackoverflow...ing-riping-pdfs
nspyrou Δημοσ. 25 Μαΐου 2012 Δημοσ. 25 Μαΐου 2012 To Lib Haru, κάνει ΚΑΙ κατασκευή PDF,, φαντάζομαι οτι είναι πιο κοντά σε αυτό που θες να κάνεις.. Σε προειδοποιώ όμως οτι είναι λίγο "μανίκι" η διαχείρισή του. Καθώς γράφεις από κάτω προς τα πάνω, και όχι από πάνω προς τα κάτω (όπως συμβαίνει στα πάντα στη φύση!!),, (έφαγα πακέτο με αυτή την ιστορία, γι'αυτό και σε προϊδεάζω...)
lordlothar Δημοσ. 26 Μαΐου 2012 Μέλος Δημοσ. 26 Μαΐου 2012 Ευχαριστώ ξανά για τις απαντήσεις παιδιά. @migf1 Όταν λέω ότι δεν βρήκα εύκολο τρόπο, εννοώ ότι ο προφανής τρόπος που βρήκα είναι να γράψω εγώ έναν pdf viewer διαβάζοντας το documentation της Adobe, το οποίο όμως ξεπερνάει τις 1000 σελίδες (!) και είναι πολύ παρά πέρα από αυτό που μπορώ και θέλω να κάνω, με αμφίβολα αποτελέσματα. Όσον αφορά τη λύση που προτείνεις, να επισημάνω ότι το πρόγραμμα που θα γράψω θα τρέχει σε AVR και όχι πάνω σε κάποιο λειτουργικό, οπότε δε νομίζω να γίνεται κάτι τέτοιο. Μάλλον καταλήγω σε χρήση κάποιας εξωτερικής βιβλιοθήκης, αλλά ποιάς? Από τις άλλες προτάσεις, το Haru το είχα ψάξει και εγώ, αλλά νόμιζα ότι είναι μόνο για κατασκευή και όχι για ανάγνωση. Τα άλλα που φαίνονται να μπορούν να βοηθήσουν είναι το Xpdf, το podofo και το Sumatra PDF. Έχει χρησιμοποιήσει κανείς κάποιο από αυτά? Το podofo φαίνεται να είναι η μόνη βιβλιοθήκη που διαβάζει PDFs, ενώ τα άλλα 2 είναι open source, οπότε πιθανόν να γίνονται port...Έχει κανείς εμπειρία πάνω σε αυτό?
nspyrou Δημοσ. 26 Μαΐου 2012 Δημοσ. 26 Μαΐου 2012 Ευχαριστώ ξανά για τις απαντήσεις παιδιά. @migf1 Όταν λέω ότι δεν βρήκα εύκολο τρόπο, εννοώ ότι ο προφανής τρόπος που βρήκα είναι να γράψω εγώ έναν pdf viewer διαβάζοντας το documentation της Adobe, το οποίο όμως ξεπερνάει τις 1000 σελίδες (!) και είναι πολύ παρά πέρα από αυτό που μπορώ και θέλω να κάνω, με αμφίβολα αποτελέσματα. Όσον αφορά τη λύση που προτείνεις, να επισημάνω ότι το πρόγραμμα που θα γράψω θα τρέχει σε AVR και όχι πάνω σε κάποιο λειτουργικό, οπότε δε νομίζω να γίνεται κάτι τέτοιο. Μάλλον καταλήγω σε χρήση κάποιας εξωτερικής βιβλιοθήκης, αλλά ποιάς? Από τις άλλες προτάσεις, το Haru το είχα ψάξει και εγώ, αλλά νόμιζα ότι είναι μόνο για κατασκευή και όχι για ανάγνωση. Τα άλλα που φαίνονται να μπορούν να βοηθήσουν είναι το Xpdf, το podofo και το Sumatra PDF. Έχει χρησιμοποιήσει κανείς κάποιο από αυτά? Το podofo φαίνεται να είναι η μόνη βιβλιοθήκη που διαβάζει PDFs, ενώ τα άλλα 2 είναι open source, οπότε πιθανόν να γίνονται port...Έχει κανείς εμπειρία πάνω σε αυτό? To Lib Haru, και γράφει και διαβάζει PDFs ...
migf1 Δημοσ. 26 Μαΐου 2012 Δημοσ. 26 Μαΐου 2012 Προσωπική εμπειρία δεν έχω για να σε βοηθήσω περαιτέρω, δες όμως και το muPDF.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα