office documenten lezen dmv php
Wat ik graag zou willen, is de mogelijkheid om een office document uit te lezen via php. Een pdf uitlezen kan ik al, dat is geen moeite. Maar ik moet .doc, .docx edg kunnen uitlezen, en de opmaak behouden. Met google vond ik iets voor excel, maar dat geeft deze sexy output:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
Rare (sjldne) "Stamps () & Letters" for sale
No Item Price ()
10001 1851 Denmark. 4 Rigsbankskilling Ferslew printing, plate I with with numeral "1" Copenhagen. 300
10002 1855 Denmark. Copenhagen foot-post cover franked with single Thiele 2 Rigsbankskilling type 5, plate I pos. 19. Nicely tied by numeral 1. Meget sjlden. 3500
10003 1852 Denmark. Thiele 2 Rigsbankskilling type 2 disjoined foot in pair, plate I type 10 & 2, pos. 48-58 with black numeral 1 cancellation. Clearly visible disjoined foot in pair with huge margins. 5800
10004 1871 Japan. 200 mon dragon cover. Sent from Yokohama () to Tokyo (). 4300
No Item Price ()
10001 1851 Denmark. 4 Rigsbankskilling Ferslew printing, plate I with with numeral "1" Copenhagen. 300
10002 1855 Denmark. Copenhagen foot-post cover franked with single Thiele 2 Rigsbankskilling type 5, plate I pos. 19. Nicely tied by numeral 1. Meget sjlden. 3500
10003 1852 Denmark. Thiele 2 Rigsbankskilling type 2 disjoined foot in pair, plate I type 10 & 2, pos. 48-58 with black numeral 1 cancellation. Clearly visible disjoined foot in pair with huge margins. 5800
10004 1871 Japan. 200 mon dragon cover. Sent from Yokohama () to Tokyo (). 4300
= no good.
Dus ik hoop, dat iemand dat al eens geprobeerd heeft, en een oplossing heeft.
Kort samengevat wil ik dus een class oid, des noods een methode, dan bouw ik het zelf wel, waarmee ik een office document *.doc, .docx, .xls, .xlsx, overige mogen ook nog. altijd mooi meegenomen* kan uitlezen, hun opmaak kan behouden, zodat ik dit weg kan schrijven in een pdf.
Alvast bedankt :)
Op het werk hier hier hebben we een web-based docemnt systeem (van OpenText) en daarin worden onze xls en doc(x) bewaard en die openen netjes in een browser...
Edit:
waarbij binnen het browser-scherm/window gewoon excel of wordt wordt gestart net zoals je regelmatig ziet bij pdf's
Gewijzigd op 01/01/1970 01:00:00 door John D
Ik heb van alles gevonden maar, ik moet wat hebben voor een linux server, en gewoon een script. Ik kan namelijk niet bij het systeem, is gewoon reseller hosting.
xls(x): http://www.codeplex.com/PHPExcel
http://www.vandenacker.be/pdftest/Tests/01simple.php
code:
het neemt ook de layout niet mee.
Die livedocx moet ik voor betalen. dat is niet echt de bedoeling... en die phpexcel, geeft deze output: code:
Code (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
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
error_reporting(E_ALL);
/** PHPExcel */
require_once '../Classes/PHPExcel.php';
/** PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("templates/26template.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();
echo '<table>' . "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
echo '<tr>' . "\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // This loops all cells,
// even if it is not set.
// By default, only cells
// that are set will be
// iterated.
foreach ($cellIterator as $cell) {
echo '<td>' . $cell->getValue() . '</td>' . "\n";
}
echo '</tr>' . "\n";
}
echo '</table>' . "\n";
?>
error_reporting(E_ALL);
/** PHPExcel */
require_once '../Classes/PHPExcel.php';
/** PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("templates/26template.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();
echo '<table>' . "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
echo '<tr>' . "\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // This loops all cells,
// even if it is not set.
// By default, only cells
// that are set will be
// iterated.
foreach ($cellIterator as $cell) {
echo '<td>' . $cell->getValue() . '</td>' . "\n";
}
echo '</tr>' . "\n";
}
echo '</table>' . "\n";
?>
het neemt ook de layout niet mee.
En ik bedoelde eigenlijk phpLiveDocx. Die zit sowieso in het zend framework, daar kan je het evt ook uit halen.
EDIT: Haha, heb je zelf al een keer in de template gekeken? Met japanse tekens e.d. wordt het niet veel makkeijker xD. Alles gaat goed, behalve die paar vreemde tekens (en daar staat mss wel iets over in hun documentatie)
Gewijzigd op 01/01/1970 01:00:00 door Pim -
ik wil een zooitje word documenten, excel sheets, en pdf's, samen voegen in 1 pdf.
Je kan beter het Zend Framework gebruiken voor phpLiveDocx, gewoon beginnen bij de specifieke files ervan, en dan de rest die niet wordt geïncluded verwijderen.
ik heb nog nooit gewerkt met zend. ik heb het gedownload maar ik weet niet wat het doet, hoe het werkt, en wat ik moet doen.
Oh.. wacht even, ik ben eigenlijk toch bang dat dit gewoon een laagje voor diezelfde betaalde livedocx is...
Misschien is deze wel wat: http://www.phpdocx.com
Daar zal ik eens naar kijken. Ik heb nu iets waarmee ik alle sheets, en alle inhoud kan tonen. berekeningen al gedaan... het enige probleem is, de opmaak, ik krijg de opmaak niet terug, en voor zover ik kan zien *alles gelezen* kan dat niet met deze class. *ik heb het nu weer over excel dus :P*. Dus ik moet iets hebben dat ook de opmaak mee stuurt.
Iemand?
Even met var_dump(get_class_methods($objPHPExcel->getActiveSheet()->getStyle('D1'))) kijken wat er mogelijk is.
EDIT: Ik neem aan dat je nu de directe naar HTML functie gebruikt, dat kan dus niet meer, nu moet je zelf cellen iteraten en een tabel maken.
Gewijzigd op 01/01/1970 01:00:00 door Pim -
Nu moet ik nog wat hebben voor word.
Nu mag ik wel bumpen. Iemand? Ik wil word nog kunnen uitlezen met opmaak en al. Of omzetten naar pdf, dat mag ook.
EDIT: Of om het helemaal leuk te maken: hier de specificaties: http://www.wotsit.org/list.asp?fc=10 en dan zelf wat knutselen. Daar ben je nog wel een jaartje mee bezig ;)
Gewijzigd op 01/01/1970 01:00:00 door Pim -
docx is een betaalde service. ik zoek gewoon een script die ik kan gebruiken.
COM is voor windows.
Google Docs API. Ik weet dat je daar Office-bestanden kunt uploaden en weer verder kunt bewerken. (Google Docs werkt met HTML, dus ergens wordt die conversie gemaakt.)
Verder is het misschien leuk als je je gevonden oplossingen (zowel voor Excel als Word) hier als scripts post, ik denk dat anderen daar zeker wat aan kunnen hebben.
Een goede oplossing heb ik niet voor je. Met een omweg zou je misschien wel gebruik kunnen maken van de Verder is het misschien leuk als je je gevonden oplossingen (zowel voor Excel als Word) hier als scripts post, ik denk dat anderen daar zeker wat aan kunnen hebben.