Likes Likes:  0
Resultaten 1 tot 5 van de 5
Geen
  1. #1
    Fluid Void
    Text replace in MS Word document met PHP
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Text replace in MS Word document met PHP

    Hallo allemaal,

    In een PHP script op een linux platform probeer ik in een MS Word document
    enkele tags te vervangen door tekst. Vervolgens verstuur ik het document per
    email.

    Zonder het vervangen van de tags verloopt het proces foutloos, ik krijg dan
    een attachment wat wordt geopend met MS Word.

    Echter zodra ik een preg_replace of een str_replace erop loslaat kan ik het
    document niet meer openen. MS Word vraagt dan om een speciaal filter voor
    het document.

    Mijn vraag is: hoe kan dit? Maakt het uit dat het bestand nu groter is
    geworden en moet er ergens een getal geupdated worden?


    Mijn code:

    $userfile = "besteld.doc";
    $fd = fopen ($userfile, "rb");
    $attachment = fread ($fd, filesize ($userfile));
    fclose ($fd);

    $attachment = preg_replace("/__naam__/", "test", $attachment);

    .... versturen mail ...


    Bij voorbaat dank voor een antwoord,

    FV



  2. #2
    Warden Dave
    Text replace in MS Word document met PHP
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Text replace in MS Word document met PHP

    "Fluid Void" <fluid@void> wrote:

    > Hallo allemaal,


    & Hoi,

    > In een PHP script op een linux platform probeer ik in een MS Word document
    > enkele tags te vervangen door tekst. Vervolgens verstuur ik het document per
    > email.
    >
    > Zonder het vervangen van de tags verloopt het proces foutloos, ik krijg dan
    > een attachment wat wordt geopend met MS Word.
    >
    > Echter zodra ik een preg_replace of een str_replace erop loslaat kan ik het
    > document niet meer openen. MS Word vraagt dan om een speciaal filter voor
    > het document.
    >
    > Mijn vraag is: hoe kan dit? Maakt het uit dat het bestand nu groter is
    > geworden en moet er ergens een getal geupdated worden?

    <knip>

    Dat zal veelal wel moeten, ja. Je kunt niet zomaar in het wilde weg de inhoud
    van (binaire) bestanden wijzigen zonder alleen al interne pointers & posities
    invalide te maken; al kom je met het aanpassen van bijv. tekt zonder de lengte
    te wijzigen meestal wel weg.

    Omdat MS Word, welke versie (?) ook, naar mijn weten beslist geen server-
    side voorziening is lijkt het mij dat je in 1 van de MS groepen aan het goede
    adres bent. Zie +- ook:
    http://msdn.microsoft.com/office/und...d/default.aspx en
    http://www.wotsit.org/ .

    WD



  3. #3
    Reinoud Horstink
    Text replace in MS Word document met PHP
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Text replace in MS Word document met PHP

    Fluid Void wrote:
    > Hallo allemaal,
    >
    > In een PHP script op een linux platform probeer ik in een MS Word document
    > enkele tags te vervangen door tekst. Vervolgens verstuur ik het document per
    > email.
    >
    > Zonder het vervangen van de tags verloopt het proces foutloos, ik krijg dan
    > een attachment wat wordt geopend met MS Word.
    >
    > Echter zodra ik een preg_replace of een str_replace erop loslaat kan ik het
    > document niet meer openen. MS Word vraagt dan om een speciaal filter voor
    > het document.


    Ik heb een tijdje geleden hetzelfde probleem ondervonden. Het heeft geen
    zin om in het binaire Word-formaat te zitten hakken. In mijn geval was
    de oplossing om in plaats van .doc het =RTF-bestand te gebruiken. Dit
    kun je eenvoudig in Word openen (de doorsnee gebruiker ziet geen
    verschillen) en opslaan. Server-side vervangen van strings levert in een
    RTF geen problemen.

    Reinoud.

  4. #4
    Branko Collin
    Text replace in MS Word document met PHP
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Text replace in MS Word document met PHP

    "Fluid Void" <fluid@void>, you wrote on Sat, 1 May 2004 01:40:34
    +0200:

    >In een PHP script op een linux platform probeer ik in een MS Word document
    >enkele tags te vervangen door tekst. Vervolgens verstuur ik het document per
    >email.
    >
    >Zonder het vervangen van de tags verloopt het proces foutloos, ik krijg dan
    >een attachment wat wordt geopend met MS Word.


    Word gebruikt waarschijnlijk een zogeheten binair bestandsformaat. Dat
    wil over het algemeen zeggen dat het formaat is geoptimaliseerd voor
    snel schrijven en lezen, en dat dat ten koste gaat van robuustheid.

    Met andere woorden, door het bestand te wijzigen, maak je het stuk.

    Vaak lukt het met binaire formaten nog wel om een gegevensstring te
    vervangen door een gegevensstring van dezelfde lengte. Je zult echter
    moeten experimenteren om te zien of dat ook voor het MS Word-formaat
    geldt.

    Microsoft geeft voor zover ik heb begrepen niet de specificatie van
    zijn Word-formaat vrij. Jou staan dan enkele dingen te doen:

    - Zoek naar een specificatie in andere bronnen. OpenOffice zou
    bijvoorbeeld ergens het Word-formaat gedocumenteerd kunnen hebben
    staan.

    - Zoek uit of er conversieprogramma's voor MS Word-documenten bestaan,
    die je bestanden converteren van en naar een formaat wat je wel
    makkelijk kunt beschrijven.

    - Gebruik in plaats van MS Word-bestanden een formaat dat wel
    (enigszins) duidelijk is gespecificeerd, en dat je gebruikers ook
    ondersteunen. RTF is dan het meest voor de hand liggend, omdat dat
    door Microsoft is ontwikkeld en door MS Word wordt ondersteund.

    --
    branko collin
    - dr: "have you been exposed to any user interfaces designed by engineers?"
    - woman: "yes"
    - dr: "you have interface poisoning. you'll be dead within a week" (scott adams, dilbert)

  5. #5
    Fluid Void
    Text replace in MS Word document met PHP
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Text replace in MS Word document met PHP

    > Ik heb een tijdje geleden hetzelfde probleem ondervonden. Het heeft geen
    > zin om in het binaire Word-formaat te zitten hakken. In mijn geval was
    > de oplossing om in plaats van .doc het =RTF-bestand te gebruiken. Dit
    > kun je eenvoudig in Word openen (de doorsnee gebruiker ziet geen
    > verschillen) en opslaan. Server-side vervangen van strings levert in een
    > RTF geen problemen.


    In rtf formaat werkt het inderdaad wel, dank voor de reacties!

    FV



Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics