Toon posts:

[php/word] goed word bestand maklen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een aantal gegevens uit een database halen en hiervan een output geven in een word (.doc) bestand. Dit lukt goed, wanneer ik het volgende script gebruik:

PHP:
1
2
3
4
5
6
7
8
<?
header("Content-Type: application/msword");
header("Content-Disposition: attachment; filename=test.doc");
header("Pragma: no-cache");
header("Expires: 0");

echo "test";
?>


Maar.. wanneer ik gegevens uit de database loop, wil ik het zo hebben dat elke brief (soort template systeem) op een nieuwe pagina in het word document komt. Het probleem is dus dat de brieven niet precies een pagina van elkaar af zitten. Omdat de inhoud van de brief variabel, kan ik hier ook niet een vast aantal enters voor gebruiken. Weet iemand hier een oplossing voor?

Verwijderd

Verwijderd schreef op 09 augustus 2002 @ 13:29:
Ik wil een aantal gegevens uit een database halen en hiervan een output geven in een word (.doc) bestand. Dit lukt goed, wanneer ik het volgende script gebruik:

Maar.. wanneer ik gegevens uit de database loop, wil ik het zo hebben dat elke brief (soort template systeem) op een nieuwe pagina in het word document komt. Het probleem is dus dat de brieven niet precies een pagina van elkaar af zitten. Omdat de inhoud van de brief variabel, kan ik hier ook niet een vast aantal enters voor gebruiken. Weet iemand hier een oplossing voor?
Een vast aantal enters lijkt me niet zo handig, omdat letters van grote kunnen wisselen en dus het aantal regels per pagina kunnen beinvloeden. Plus het feit dat je ook nog zoiets hebt als marges.

Is er niet een speciaal teken of een tekenreeks die het begin van een nieuwe pagina aanduidt?

Ik kan je helaas niet het juiste antwoord geven, omdat ik dat zelf ook niet weet, maar bovenstaande lijkt me wel logisch :P

Nog iets, is dit niet meer iets voor P&W?

  • akakiwi
  • Registratie: September 2000
  • Laatst online: 20-03 11:13

akakiwi

I believe in the ruling class.

Je zou idd gewoon moeten kijken met welke code je een [CTRL] + [ENTER] genereerd, en die erin zetten.

| Life is a game (and games are fun) | homepage |


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 09:22

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

een ctrl-enter simuleren? Denk je even na dat het niet clientside is? Maar goed, mijn dubbeltje: tel alle regels en trek die af het aantal dat op een pagina kan :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

[script]
<script language="vbscript">
Set objWord = GetObject("", "Word.Application")

TotalValue = 0

objWord.caption = blaat
objWord.Visible = True
objWord.Activate
objWord.Documents.Add

with objWord.Selection
.Font.Name = "Arial"
.Font.Size = 10
.ParagraphFormat.TabStops.Add 175
.ParagraphFormat.TabStops.Add 275
.TypeText chr(13)+"dsgfdsg"+chr(13)
end with
</script>

probeer dit eens uit
de chr(13) is een enter, zo is bv chr(9) een tab ...

Verwijderd

volgens mij moet er ook zo een code zijn om pagina eindes aan te geven, kijk anders even op MSDN ...

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 09 augustus 2002 @ 14:06:
[script]
...probeer dit eens uit
de chr(13) is een enter, zo is bv chr(9) een tab ...
Klopt wel, maar dat is standaard ASCII. Ik kan nl. geen Pagina Break in de ASCII tabel vinden!

VBA in Word geeft trouwens de volgende code voor een page-break:
code:
1
Selection.InsertBreak Type:=wdPageBreak


Misschien heb je hier wat aan.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

hmmm.... Wederom een dubbele post! Gaat niet helemaal lekker :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

dubbele post..... dubbel zo lekker :P

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

overigens heb ik de volgende code gebruikt om een paragraaf een omlijning te geven:

code:
1
2
3
4
5
6
7
.borders.OutsideLineStyle = 1
.Font.Size = 8
.ParagraphFormat.TabStops.Add 150
.TypeText "blaat "
 .InsertParagraph
.borders.OutsideLineStyle = 0
.TypeText " "+chr(13)


het werkt leuk, alleen krijg ik op het einde van de pagina ook een vierkant met de breedte van de pagina...

Verwijderd

weet iemand dus hoe dit anders moet of hoe ik dit vierkant weg krijg

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 09 augustus 2002 @ 14:44:
overigens heb ik de volgende code gebruikt om een paragraaf een omlijning te geven:

code:
1
2
3
4
5
6
7
.borders.OutsideLineStyle = 1
.Font.Size = 8
.ParagraphFormat.TabStops.Add 150
.TypeText "blaat "
 .InsertParagraph
.borders.OutsideLineStyle = 0
.TypeText " "+chr(13)


het werkt leuk, alleen krijg ik op het einde van de pagina ook een vierkant met de breedte van de pagina...
Vierkant blijft omdat je nog steeds in die paragraaf zit! Als je in Word een page break geeft, zie je dat op je nieuwe pagina die border ook weer zichtbaar is.

Wat ik altijd doe is (in Word of VBA) is een page break toevoegen van het type "continious" en vervolgens bij die nieuwe sectie je borders weer uitzetten!

Misschien kan je dat ook doen?

[ Voor 0% gewijzigd door BtM909 op 09-08-2002 15:21 . Reden: lezen BtM909.... lezen.... ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1