2017-01-23 5 views
0

Ich erzeuge PDF-Dateien mit wkhtmltopdf und ich muss verschiedene Optionen zu verschiedenen Seiten festlegen.Mikehaertl wkhtmltopdf verschiedene Optionen zu verschiedenen Seiten

Zum Beispiel:

$pdf->addPage('http://frontbeta/')->setOptions(['orientation' => 'landscape']); 
$pdf->addPage('http://backbeta/'); 

So, Querformat für das 1-Seite und Porträt orientaion zur 2 Seite. Aber der obige Code legt die erste Option für alle Seiten fest.

Hier ist die Funktion, dass PDF-Dateien erzeugt:

protected function createPdf() 
{ 
    if ($this->_isCreated) { 
     return false; 
    } 
    $command = $this->getCommand(); 
    $fileName = $this->getPdfFilename(); 

    $command->addArgs($this->_options); 

    foreach ($this->_objects as $object) { 
     $command->addArgs($object); 
    } 
    $command->addArg($fileName, null, true); // Always escape filename 
    if (!$command->execute()) { 
     $this->_error = $command->getError(); 
     if (!(file_exists($fileName) && filesize($fileName)!==0 && $this->ignoreWarnings)) { 
      return false; 
     } 
    } 
    $this->_isCreated = true; 
    return true; 
} 

Hier ist es die Optionen setzt Objekte foreach. Wie kann ich die Funktion ändern?

Antwort

1

Von der documentation, fand ich -O landscape. Sie können Ihren Befehl ändern, indem Sie diese Option hinzufügen.

enter image description here

+0

Das ist wahr, aber nur als eine globale Option für die gesamte Datei. AFAIK, es gibt derzeit (und leider) keine Option in wkhtmltopdf, um die Ausrichtung auf Seitenebene festzulegen. Es gibt einige Möglichkeiten, die Seite mit CSS zu drehen (das versuche ich gerade), aber das wäre wahrscheinlich nur mit den einfachsten Szenarien befriedigend. Es gibt eine offizielle Feature-Anfrage hier: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1564. Sehen Sie, ob Sie irgendwie helfen können. – userfuser

Verwandte Themen