Ik ben al enkele dagen aan het zoeken of er een mogelijkheid is om via php een pagina naar pdf te krijgen.
Het idee is zo, ik heb het in mijn windows programma toen zo gemaakt, dat als iemand op afdrukken drukt dat de pagina word afgedrukt en dat een copy als pdf cq image in een map word opegslagen.

Nu wil ik dit ook via mijn webpagina maken, dus drukt iemand op afdrukken dat ook de pagina word opgeslagen.
Nu kom ik ook diverse dingen tegen maar ik krijg ze van geen 5 cent werkt.

Is er iemand hier die mij kan helpen hoe dit te krijgen?
En nee heb echt google afgezocht en van alles geprobeerd, dus ik vraag serieuze hulp.

Bvd
Pascal.
Pascal Schuffelers op 07/09/2018 14:09:21

Ik had hem al erop staan, nu de ham vraag hoe verder, kom geen degelijke beschrijving tegen.
Ik heb gelezen dat je dit met wkhtmltopdf http://google.com google.pdf kunt doen, dit werkt , maar nergens een script te vinden om zoiets in je knop te zetten van je pagina

Die kan je toch eenvoudig maken met de basiskennis van PHP?
Met exec kan je prima dat commando afvuren (na een POST-request bijvoorbeeld), en de pdf naar een speciale map schieten.
En die lees je dan uit.

Eventueel met AJAX erbij die je elke paar seconden laat kijken of het al gereed staat.
Uh ja makkelijker gezegt voor jullie als voor mij.
Uitlezen hoeft niet als hij ze maar maakt en naar een map schiet.

Dit heb ik in mijn post van de button gezet.:
echo exec('wkhtmltopdf http://google.com google2.pdf');   

Maar er gebeurd niks dan.

Kwik and dirty als test.:

<?php if (isset($_POST['button'])) { exec('wkhtmltopdf http://google.com google2.pdf'); } ?>
<form action="" method="post">
    <button type="submit" name="button">Run pdf maker</button>
</form>


Maar niks gebeurd.
exex() kent ook een tweede argument waarmee je de output kan vrijgeven:


<?php 
if (isset($_POST['button'])) { 
   exec('wkhtmltopdf http://google.com google2.pdf',$output); 
   echo "Uitvoer: ".$output;
}
?>
<form action="" method="post">
    <button type="submit" name="button">Run pdf maker</button>
</form> 


Werkt het in de shell zelf wel?
De "Uitvoer" is verder leeg?
Geef anders eens het volledige pad naar die binairy op.
ben even de rpi aan het scannen waar hij staat geïnstalleerd, kom er op terug.
Kijk anders eerst eens of exec() wel doet wat het moet doen, door een standaard command te proberen zoals whoami of uptime.
Zo bedoel je neem ik aan?

<?php
if (isset($_POST['button'])) {
   //exec('wkhtmltopdf http://google.com google2.pdf',$output);
  //exec("/usr/local/bin/wkhtmltopdf http://google.com testfile.pdf",$output);
  echo exec('whoami');
   echo "Uitvoer: ".$output;
}
?>


[size=xsmall]Toevoeging op 07/09/2018 15:49:46:[/size]

Krijg dit te zien bij uitvoer.:
Uitvoer: www-data

bij uptime.:
Uitvoer: 15:50:57 up 5 days, 15:56, 1 user, load average: 1.67, 1.78, 1.81
Dat werkt dus wel.
Echter wkhtmltopdf of /usr/local/bin/wkhtmltopdf geeft dus geen output?
Misschien moet je eens proberen om een volledig pad op te geven naar waar je testfile.pdf moet komen te staan.
een locatie voor de testfile.pdf zeten helpt niet, vermoed toch dat in php de map van die wkhtmltopdf vermeld moet worden, wacht nog altijd dat het zoeken klaar is, ben de hele rpi sdcart aan het nalopen

Reageren