ich die html pdf bin Umwandlung wkhtmltopdf Verwendung und Umwandlung arbeitet völlig in Ordnung unter Code verwendet:Execute Javascript in PDF
shell_exec('wkhtmltopdf http://www.example.com/Haryana.htm Haryana.pdf');
Nun nehmen wir dort einige DIV Akte versteckt in html
sind. Sprich:
In Haryana.htm
<div style="display:none;">Hello</div>
so, das Wort 'Hallo' wird auch nicht in der konvertierten PDF drucken (was offensichtlich ist).
Was ich tun müssen, um alle versteckten Text in die konvertierten PDF zeigen.
Was habe ich versucht, bis jetzt ist, erstellt eine JS-Datei external-js.js
sagen, der Code alle
var elements = document.getElementsByTagName('DIV')
for (var i = 0; i < elements.length; i++){
if (elements[i].style.display == 'none') {
elements[i].style.display = 'block';
}
}
die versteckten DIV ist und auch zu zeigen, hat die Anwendung diese Datei JS, während ein PDF wie unten zu schaffen:
shell_exec('wkhtmltopdf --enable-javascript --run-script /var/www/html/search/external-js.js http://www.example.com/Haryana.htm Haryana.pdf');
Noch, PDF konvertiert gut, aber versteckter Text sind nicht sichtbar.
Bitte helfen Sie mir, den ganzen versteckten Text in pdf zu zeigen. Ich hoffe, ich kann die Frage klären.
Hinweis: Ich kann keine Änderungen in den HTML-Dateien vornehmen, weil wir Tausende solcher Dateien haben.
UPDATE:
Loading pages (1/6)
Warning: undefined:0 SyntaxError: Invalid flags supplied to RegExp constructor.
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
, die eine gewisse Warnung haben: Wenn debug-javascript
Option und laufen Sie den folgenden Code in Kitt
wkhtmltopdf --debug-javascript --enable-javascript --run-script /var/www/html/search/external-js.js http://www.example.com/Haryana.htm Haryana.pdf;
i folgende Ausgabe bin immer hinzugefügt. Ich bin sicher, dass diese Warnung wegen --run-script /var/www/html/search/external-js.js
kommt, aber warum? Ich habe dies gemäß der offiziellen Dokumentation hinzugefügt.
Ich bin fest mit diesem ... kann mir bitte jemand helfen?
Ich denke, Sie sollten eine Funktion in den HTML-Dateien hinzufügen, wie Seitenzahlungsfunktion. Und je nachdem, ob das Dokument die Nummer einer Seite findet oder nicht, ändern Sie den Stil in "style.display = 'block'". Sie können alle HTML-Dateien, die Sie auf einmal haben, mit Java ändern. –
Ich kann die HTML-Dateien nicht ändern, da dieselbe Datei auch für das Rendern im Browser verwendet wird. –