Δεδομένα από word σε php

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από rafinos » 19 Οκτ 2014 11:29

Γεια σας παιδιά!

Σίγουρα υπάρχουν πολλές κλάσεις που βοηθούν στην επικοινωνία δεδομένων μέσω php και word (doc, docx).

Αυτό που θέλω πιο συγκεκριμένα (αρχικά) είναι αν γίνεται να εμφανίσω τα δεδομένα ενός αρχείου word ακριβώς με τον τρόπο που είναι δομημένα (παραγράφους κτλ), στον browser και να τα αποθηκεύσω σε ένα array.

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

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από giannis17 » 19 Οκτ 2014 16:15

Το είχα ψάξει πριν μερικούς μήνες. Το κείμενο και τις φωτογραφίες είναι εύκολο να τα πάρεις, την δομή με τίποτα!
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από rafinos » 19 Οκτ 2014 20:52

Δηλαδή δεν υπάρχει περίπτωση να ξεχωρίσεις ούτε καν τις παραγράφους;

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από alou » 19 Οκτ 2014 22:24

Aυτό το έχεις δοκιμάσει?
https://github.com/PHPOffice/PHPWord/bl ... rd2007.php

rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από rafinos » 19 Οκτ 2014 23:38

Βασικά δεν έχω δοκιμάσει κάτι ακόμα πιο πολύ ρωτάω για να μην ξεκινήσω λάθος.

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

Υπάρχει τρόπος να γίνει κάτι τέτοιο;

Αν σας μπέρδεψα σίγουρα φταίω εγώ :P

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από giannis17 » 19 Οκτ 2014 23:42

Αυτή τη βιβλιοθήκη είχα χρησιμοποιήσει και εγώ, για άλλη δουλειά βέβαια, και δεν μου έκανε. Μια δοκιμή θα σε πείσει!

Αν δεν είναι ανάγκη να γίνεται online αυτή η εργασία μπορείς πολύ απλά να φτιάξεις ένα vbscript για το word.

http://msdn.microsoft.com/en-us/library ... 14%29.aspx
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από rafinos » 20 Οκτ 2014 00:37

Θα το τσεκάρω και θα σας πω :)
Ευχαριστώ πολύ προς στιγμήν (σίγουρα θα επανέλθω με νέο ερώτημα ή προβλημα :P)!!!!!!!!

rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από rafinos » 20 Οκτ 2014 16:17

Βρήκα κάτι τρόπους να διαβάσω αρχεία (μορφοποίηση ούτε καν...) και όχι με PHPWord...
Δεν κατάλαβα πως δουλεύει η ανάγνωση αρχείου... βασικά πιστεύω ότι η PHPWord δημιουργήθηκε κατά κύριο λόγο για δημιουργία αρχείου και όχι για ανάγνωση του.

Το θέμα είναι ότι μου βγάζει ερωτηματικά στους ελληνικούυς χαρακτήρες.

Χρησιμοποίησα αυτές τις λύσεις που προτείνουν εδώ.

http://www.dreamincode.net/forums/topic ... ord-files/

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από giannis17 » 20 Οκτ 2014 16:30

Δοκίμασε να αλλάξεις το codepage της σελίδας σου σε utf-8
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από rafinos » 20 Οκτ 2014 22:04

Πριν την αλλαγή σε utf8 μου έβγαζε αλαμπουρνέζικα... μετά έβγαζε ερωτηματικά :P

Μάλλον θα προβώ σε άλλη λύση... το word από ότι βλέπω σε όλες τις πλατφόρμες (ακόμα τις ίδιας της MS) έχει θέματα (όσον αφορά την ανάγνωση δεδομένων).

Ευχαριστώ πολύ για το ενδιαφέρον παιδιά!
Να 'στε καλά!

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από giannis17 » 20 Οκτ 2014 22:34

Κάνε μια δοκιμή και με "ISO 8859-7", είναι τα ελληνικά.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από rafinos » 23 Οκτ 2014 23:18

giannis17 έγραψε:Κάνε μια δοκιμή και με "ISO 8859-7", είναι τα ελληνικά.
Πάντως ούτε με αυτό δούλεψε :P

Βρήκα κώδικα που δουλεύει για docx (μόνο κείμενο και η μόνη μορφοποίηση που κρατάει είναι η κενή σειρά ανά παράγραφο ... είτε αφήσεις 1000 γραμμές είτε μία θα πάρεις μία γραμμή παραγράφου :P)

Κώδικας: Επιλογή όλων

<?php
header&#40;'Content-Type&#58; text/html; charset=utf-8'&#41;;

function kv_read_word&#40;$input_file&#41;&#123;	
	 $kv_strip_texts = ''; 
         $kv_texts = ''; 	
	if&#40;!$input_file || !file_exists&#40;$input_file&#41;&#41; return false;
		
	$zip = zip_open&#40;$input_file&#41;;
		
	if &#40;!$zip || is_numeric&#40;$zip&#41;&#41; return false;
	
	
	while &#40;$zip_entry = zip_read&#40;$zip&#41;&#41; &#123;
			
		if &#40;zip_entry_open&#40;$zip, $zip_entry&#41; == FALSE&#41; continue;
			
		if &#40;zip_entry_name&#40;$zip_entry&#41; != "word/document.xml"&#41; continue;

		$kv_texts .= zip_entry_read&#40;$zip_entry, zip_entry_filesize&#40;$zip_entry&#41;&#41;;
			
		zip_entry_close&#40;$zip_entry&#41;;
	&#125;
	
	zip_close&#40;$zip&#41;;
		

	$kv_texts = str_replace&#40;'</w&#58;r></w&#58;p></w&#58;tc><w&#58;tc>', " ", $kv_texts&#41;;
	$kv_texts = str_replace&#40;'</w&#58;r></w&#58;p>', "\r\n", $kv_texts&#41;;
	$kv_strip_texts = strip_tags&#40;$kv_texts&#41;;

	return $kv_strip_texts;
&#125;


$kv_texts = kv_read_word&#40;'a.docx'&#41;;
if&#40;$kv_texts !== false&#41; &#123;		
	echo nl2br&#40;$kv_texts&#41;;	
&#125;
else &#123;
	echo "Can't Read that file.";
&#125;

?>

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Δεδομένα από word σε php

Δημοσίευση από Apostolis_38 » 24 Οκτ 2014 11:30

Για τα Ελληνικά δοκίμασε:

Κώδικας: Επιλογή όλων

SET NAMES 'cp1253'

Κώδικας: Επιλογή όλων

SET CHARACTER SET 'cp1253'
Αυτό δουλεύει για το Excel.
Πολύ πιθανό να κάνει δουλειά και στο Word.

rafinos
Δημοσιεύσεις: 304
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Δεδομένα από word σε php

Δημοσίευση από rafinos » 24 Οκτ 2014 12:38

Με docx ο κώδικας δουλεύει με utf8...
O κώδικας που έχει το λινκ που έδωσα για doc δε δουλεύει με ελληνικά αλλά και με αγγλικά μου βγάζει κάποιους περίεργους ανάμεσα στα αγγλικά...

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες