positionering bij afdrukken
waar aan de hand van een nummer persoons gegevens uit een db gehaald worden
en ook flarden tekst
die vormen samen een brief
maar hoe krijg ik die brief uit mijn printer, maar dan wel zo dat bvb de adres gegevens op een welbepaalde positie op de brief komen
ik bedoel : hoe krijg ik mijn output precies waar ze komen moet op het voorgedrukte briefpapier ?
als ik via de print knop van IE / FF ga, dan lukt dat langs geen kanten + er staat ook nog vanalles in de marges...
thanks,
P.
je kan werken met divjes,met divjes kan je alles precies op de plek zettten waar jij het wil hebben
op het scherm krijg ik alles perfect op zijn plaats... maar als je dan op print klikt, dan klopt het niet meer... en er wordt ook vanalles meegeprint in de marges... oa pagina 1 van 1, de title vanhet document, de locatie op de server...
Gewijzigd op 07/09/2005 10:16:00 door TnT -
misschien weer er iemand anders wel een oplossing...
hier misschien iets mee?
Kan je ik dacht ook al eraan om een pdf te maken... ik heb daar ooit eens iets over gelezen, maar weet er het fijne niet meer van...
maar lieftst zou ik ze gewoon willen uitdrukken op voorafbepaalde posities...
Should be pretty obvious, but in case there is any confusion...
The printer in question is one that is connected to the _server_, not the _client_.
je kan met css een stylesheet gebruiken die speciaal voor een printer bestemd is. Je kan dan bijv je site anders vormgeven dan de print uiterlijk :)
Volgens mij, maar ik weet het ook niet zeker, moet je de te printen pagina in een popup laten verschijnen met de juiste opmaak. En in die popup een 'print'knop die dan de inhoud van het popup venster print.
Marien:
je kan met css een stylesheet gebruiken die speciaal voor een printer bestemd is. Je kan dan bijv je site anders vormgeven dan de print uiterlijk :)
ja dat doe ik ook met css... maareuh... het is dan bij het printen dat alles plots weer opschuift, en je weer opgezadeld zit met marges (waar je niet meer in kunt schrijven... ) en heel je briefopmaak weer naar de knoppen...
Gewijzigd op 07/09/2005 11:56:00 door TnT -
Grote kans, dat als ik nou op een andere printer ga printen, dat het dan fout gaat. Ik denk dat dit voor HTML/CSS hetzelfde verhaal is. Je kan het wel op plaats krijgen, maar dan is het een kwestie van uitpuzelen.
Succes er mee!
Gewijzigd op 07/09/2005 11:59:00 door Peter Dorn
Voor de simpele afdrukken, dus de pagina's die precies op een verticaal A4'tje passen, gebruik ik gewoon een extra pop-upvenster met hierin een apparte CSS-bestand voor de afdruk.
Ik heb nooit problemen met de div's, ik weet dat het verschaalt, maar de werkelijke posities kan je eenvoudig bekijken via de echte afdrukweergave.
Alleen moet je via 'pagina-instellingen' je kop- en voettekst weghalen. Dus bij alle clients ook. Tevens kan je daar de marges instellen. Dit is wel vervelend. Maar je hoeft het per client maar 1 keer in te stellen.
Het is zeker vervelend als de pagina liggend moet, want dit moet iedere keer ingesteld worden.
Succes
ik ben ondertussen de mogelijkheden van pdf aan het bekijken... misschien kom ik er zo wel...
2. Open het document en maak een bladwijzer aan. Dat kan via het menu Invoegen > bladwijzers. Geef de bladwijzer de naam:
voornaam
Via extra > opties > tab weergave. kan je de bladwijzers zichtbaar maken. Dan zie je als het goed is een grijzig gedrocht op de plek van je cursor. Dat is dus de bladwijzer.
3. Sluit het worddocument. Plak de onderstaande code in een kaal voorbeeld-phpbestand.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//Openen van MS Word
$word = new COM("word.application") or die("Kan MS WORD niet openen");
//Localiseren van het template-bestand
$template = $_SERVER['DOCUMENT_ROOT']."/mijnbrief.doc";
//Het openen van het template-bestand in MS WORD
$word->Documents->Open($template);
//de onderstaande $bladwijzer moet overeenkomen met de bladwijzer in MS Word
$bladwijzer = 'voornaam';
$tekst = 'Barman';
$objBladwijzer = $word->ActiveDocument->Bookmarks($bladwijzer);
//Gevonden bladwijzers plakken in document
$objBladwijzer->Range->Text = $tekst;
//MS WORD zichtbaar maken / 0 = onzichtbaar en 1 = zichtbaar
$word->Visible=1;
?>
//Openen van MS Word
$word = new COM("word.application") or die("Kan MS WORD niet openen");
//Localiseren van het template-bestand
$template = $_SERVER['DOCUMENT_ROOT']."/mijnbrief.doc";
//Het openen van het template-bestand in MS WORD
$word->Documents->Open($template);
//de onderstaande $bladwijzer moet overeenkomen met de bladwijzer in MS Word
$bladwijzer = 'voornaam';
$tekst = 'Barman';
$objBladwijzer = $word->ActiveDocument->Bookmarks($bladwijzer);
//Gevonden bladwijzers plakken in document
$objBladwijzer->Range->Text = $tekst;
//MS WORD zichtbaar maken / 0 = onzichtbaar en 1 = zichtbaar
$word->Visible=1;
?>
Je ziet hierboven de bladwijzer voornaam = Barman.
Sla het bestand op. Bijvoorbeeld in de root van je localhost als genereerbrief.php
Open je browser en typ in de adressenbalk:
localhost/genereerbrief.php
En viola. Als het goed is staat er Barman in je brief.
Deze brief kan je gebruiken als template. Dus je kan er van allerlei opmaak inzetten incl. logo's extra teksten enz.
Let op! Hij opent hem alleen op de server waar apache en Word op staat.
Om de brief te laten openen via een client, dan moet je de brief als het waren genereren op de server en downloaden op de client.
Als daar echt behoefte naar is en ik heb tijd over, dan typ ik nog wel even door :)
Hierboven is het voorbeeld. Ik neem aan dat je voldoende kennis hebt om dit script uit te breiden naar eigen smaak.
Als het niet lukt wil ik het graag weten.
met wat knip en probeer werk lukt het best aardig om de teksten te krijgen waar ik ze hebben wil !
en een pdf drukt wel goed af !
(als het goed vlot maak ik er misschien wel een tut van !)
dank voor alle denkpistes,
P.