[PHP] Word-document invoeren in mysql

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Martine
  • Registratie: Mei 2002
  • Niet online
Ik heb al even lopen snuffelen hier en daar maar kan er eigenlijk weinig informatie over vinden.

Momenteel maak ik een website en ik wil graag word-documenten kunnen invoeren zodat ik niet alles hoef over te typpen of alles knippen & plakken.
Andersom is het volgens mij wel mogelijk om een word document te maken met PHP. Mijn bedoeling is om een word bestand te uploaden met php en vervolgens in een mysql database te plaatsen.

Alle tips en/of ideeen welkom

Acties:
  • 0 Henk 'm!

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

gewoon uploaden via post variabelen vanaf de client en dan de database in gooien als een blob?
simpel toch?

edit: of wil je de tekst hebben?
in dat geval zou je een of andere php module of een functie moeten schrijven die het doc format kan lezen en dan de tekst in de database plaatst en de tekstopmaak omzet naar html.

[ Voor 51% gewijzigd door McKaamos op 01-12-2005 04:15 ]

Iemand een Tina2 in de aanbieding?


Acties:
  • 0 Henk 'm!

  • Martine
  • Registratie: Mei 2002
  • Niet online
Het is inderdaad de bedoeling dat het gewoon tekst wordt.

Acties:
  • 0 Henk 'm!

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Je wilt de tekst uit een Word document destilleren? Dat is verre van triviaal; zelfs OpenOffice.org en KOffice beschikken nog steeds niet over goede .doc importers. Er zelf een schrijven is absoluut onbegonnen werk. Als het je zuiver om tekst gaat en formatting, plaatjes en tabellen mogen verdwijnen, dan kan je misschien uit hun open source importers een deel knippen dat de tekst eruit haalt, maar ik heb die code nooit gezien, dus of dat eenvoudig is durf ik niet te zeggen.

[ Voor 38% gewijzigd door Confusion op 01-12-2005 09:19 ]

Wie trösten wir uns, die Mörder aller Mörder?


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Het is niet mogelijk de tekst uit een Word document te halen ,daar dit "protocol" niet vrijgegeven is. Om diezelfde reden is het ook niet mogelijk om Word documenten te genereren zoals jij zelf zegt. Ik denk dat je in de war bent met het genereren van RTF documenten, welke Word ook ondersteunt.

Acties:
  • 0 Henk 'm!

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 16:37

Basszje

Reisvaap!]

Je kan wel heel ranzig aan de slag met VBA en dan het office documenten openen en alle tekst knippen /plakken, maar dat is verre van stabiel.

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


Acties:
  • 0 Henk 'm!

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 08:47

Eelke Spaak

- Vlad -

Kijk anders ook eens naar Jakarta POI, een Java library die het lezen en schrijven van o.a. MS Word mogelijk maakt. Niet beschikbaar voor PHP, wel voor Ruby, maar je kan denk ik wel de relevante source code eruit halen en naar PHP porten.

TheStreme - Share anything with anyone


Acties:
  • 0 Henk 'm!

Verwijderd

Je zou het met antiword kunnen proberen. Ik heb met dit tooltje een zoek machine gemaakt voor word documenten dan is het zeker mogelijk om een paar documentje in te lezen.

http://www.winfield.demon.nl/

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// uploaded file
$uploadfile = $uploaddir . $_FILES['upload']['name'];

// kan je een keuze maken eps of txt 
if ($_POST[mime]=='eps'){
// eps uitvoer zonder plaatjes wel een box er om heen
 $command='/usr/local/bin/antiword -m 8859-1.txt -p a4 -i 2 '.$uploadfile;
 //header ("Content-type: application/postscript");
}
elseif($_POST[mime]=='text'){
// plain text uitvoer met [pic] waar de plaatsjes zitten
 $command='/usr/local/bin/antiword -f '.$uploadfile;
 //header ("Content-type: text/plain");
}

// de system call (alleen linux)
function syscall($command){
   if ($proc = popen("($command)2>&1","r")){
       while (!feof($proc)) $result .= fgets($proc, 1000);
       pclose($proc);
       return $result;
       }
   }
$test=syscall($command);


installatie manual uit onze wiki

1. Make a suitable directory such as ‘$HOME/src/antiword’ and copy the ‘antiword.tar.gz’ file to this directory.
2. decompress: ‘gunzip antiword.tar.gz’
3. unpack: ‘tar xvf antiword.tar’
4. compile: ‘make all’
5. install: ‘make install’. This will install Antiword in the $HOME/bin directory.

LET OP!!!
waar de install directory is, hier staan namelijk de font.txt files die je over moet zetten naar de /usr/share/antiword directory
-copy the file 'fontnames' and one or more mapping files from the Resources directory to the $HOME/.antiword directory (note the dot before antiword!).

Omdat je hem installeerd met root zal je de /usr/share/antiword dir aan moeten maken en hier de txt files uit de /root/.antiword moeten halen en die hier in zetten en chmod 777 geven.

Hoop dat je er wat aan hebt. Anders zou je ook nog met openoffice de hele andel als xml kunnen opslaan.

[ Voor 73% gewijzigd door Verwijderd op 01-12-2005 10:37 ]


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Nu online

orf

FCK editor heeft een aardige parser, die ook nog best goed te hacken is.

Heb er een tijd geleden wel eens iets mee gedaan, mijn (ietwat ranzige) werkwijze was zo:

Pagina met een uploadveld, een (verborgen) iframe, een (verborgen en gestripte) FCK editor en een submitbutton.
Het uploadveld werd onchange gesubmit naar het iframe (submit button voor browser comp.)
Het iframe zette het word document in FCK (FCK haalde het door de word-parser).

Als er op submit werd geklikt werd de HTML in de DB gezet.

Acties:
  • 0 Henk 'm!

  • Martine
  • Registratie: Mei 2002
  • Niet online
Okido, ik weet voldoende, bedankt! Het wordt dus gewoon knippen en plakken.... :z
Pagina: 1