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.
@Ariën en waar wil je dat ik die op zet?
Set log level to: none, error, warn or info (default info)

De map verwijzing kan ik helaas niet vinden, wat ik gevonden heb werkt ook niet helaas.
Error lijkt mij het logische.
Krijg het niet.
dit probeer ik.:
wkhtmltopdf --log-level error

Maar schijnbaar is dit niet goed
Probeer eens van de andere waardes, of probeer eens te kijken of die allerminst zijn versienummer uit kan werpen.

[size=xsmall]Toevoeging op 08/09/2018 09:33:45:[/size]

Probeer eens van de andere waardes, of probeer eens te kijken of die allerminst zijn versienummer uit kan werpen.
Ik ben al zover dat hij via die exec command de pdf aanmaakt, maar helaas gaat het fout daarbij want die file is steeds beschadigd zegt die.
terijl de command promp het wel gaat.

Ga straks nog even verder kijken, jammer dat hier niet iemand is die mee test, dat was stukken makkelijker geweest.
Niet iedereen heeft hier een server natuurlijk.

Wat is de exacte melding die je krijgt? En hoe ziet je functie eruit?
Op de commandline heb je rechten die voor de exec heel anders of niet aanwezig zijn. Linux is veel strenger dan Windhoos. Waarschijnlijk eerst deze twee syntax/rechten problemen oplossen:

1. Het routeren van de error op exec (linux) level.
(overigens zou de tip van Ariën met het $output argument ook moeten werken)
2. Het schrijven van de pdf en de error daar waar het rechtens mag voor userproces www-data zie in de code hieronder /????/. Vervang de vraagtekens door de juiste dir


exec('/usr/local/bin/wkhtmltopdf --log-level error http://somesite.com /????/outfile.pdf 2>/????/wkhtmltopdf_error.log');
of
exec('/usr/local/bin/wkhtmltopdf --log-level error http://somesite.com /????/outfile.pdf 2>&1');

Verder kan je nog wel met een single/double quotes probleem geconfronteerd worden zodra je ook nog php variabelen gaat doorgeven.

In je eerdere testcode zit ook een foutje, je plakt een array achter de echo :(
Dit is een werkende oplossing:

<?php
  exec('whoami',$output);
  echo "Uitvoer: ";
  print_r($output);
?>

Je krijgt overigens de output wel in beeld in jouw test maar dat komt door de echo in:
echo exec('whoami',$output);
de rest van de regel gaat fout :(


@Aad B:
ik krijg bij jou code in de log deze melding te zien in de log file.:
 exec('wkhtmltopdf --log-level error http://www.google.nl outfile.pdf 2> wkhtmltopdf_error.log');    
Unknown long argument --log-level


@Ariën.:
Ik krijg geen melding, zie bv. wel de pdf maar als je die wil openen krijg je de melding dat hij beschadigd is.
de functie is o.a. al een flinke probeersel om diverse methodes te testen van die html naar pdf.:

<?php
if (isset($_POST['button'])) {
   exec('wkhtmltopdf http://www.google.com > g2.pdf',$output);
 //echo exec("/usr/local/bin/wkhtmltox/bin/wkhtmltopdf http://www.google.com google2.pdf",$output);
 exec("/usr/local/bin/wkhtmltox/bin/wkhtmltopdf http://www.google.com > google2.pdf");
exec('wkhtmltopdf http://www.google.nl > file.pdf 2>&1');
   echo "Uitvoer: ".$output."<br>";
   echo exec('wkhtmltopdf -V');
  // echo exec('wkhtmltopdf http://www.google.com > g3.pdf');
  exec('wkhtmltopdf --log-level error http://www.google.nl > outfile.pdf 2>&1');
  exec('wkhtmltopdf --log-level error http://www.google.nl outfile.pdf 2> wkhtmltopdf_error.log');
   //echo exec('uptime');
}
?>
<form action="" method="post">
    <button type="submit" name="button">Run pdf maker</button>
</form>


Laat de --log-level error dan maar even weg. Zie niet direct een oplossing.
Waar schrijf je de pdf? Zijn de rechten daar correct?

exec('wkhtmltopdf --log-level error http://www.google.nl > outfile.pdf 2>&1');

De eerste > moet in ieder geval weg, dat klopt niet met de syntax van wkhtmltopdf

Reageren