Met behulp van de HTML to PDF-module kunnen webpagina's eenvoudig worden omgezet naar een PDF-document. Bijvoorbeeld:
NB: Denk aan het escapen van eventuele gegevens zodat de complete url een geldige url is! In de vormgeving kun je een pagina bijv. direct als PDF laten downloaden door de volgende HTML-code te gebruiken:
<a href="http://www.htmltopdf.nl/?url=<!-- TMPL_VAR NAME="base" ESCAPE="URL" --><!-- TMPL_VAR NAME="page_url" ESCAPE="URL" -->">Download als PDF</a>
Bovenstaande voorbeeld is geschikt voor normale pagina's. Voor een 'Download PDF'-optie op elke pagina (die eventueel via stijl-instellingen wel/niet getoond kan worden) kan het beste een javascript-link worden gebruikt die de actuele url van de pagina doorgeeft:
<a href="#" onclick="javascript:location.href='http://www.htmltopdf.nl/?download=1;url='+encodeURIComponent(location.href); return false">Download als PDF</a>
url |
De url van de webpagina waarvan een PDF-document gemaakt moet worden. NB: de url mag geen url zijn die geredirect wordt en de url moet van een website op het cms zijn. |
download | Standaard wordt het PDF-document direct in de browser getoond. Indien dat niet gewenst is, geef dan download=1 mee aan de url. Er verschijnt dan een popup met de vraag of het document moet worden gedownload of worden geopend. |
copies |
Het aantal kopieën dat in de PDF moeten komen. Standaard: 1. |
orientation |
De orientatie van de pagina in de PDF. Mogelijk waarden: Landscape of Portrait. Standaard: Portrait. Voorbeeld: orientation=Landscape |
page-size |
Het formaat van de pagina, bijvoorbeeld A4, Letter, etc. Standaard: A4. Lijst met compleet overzicht. Voorbeeld: page-size=B0 |
page-height |
In plaats van page-size kan de afmeting van de pagina ook expliciet worden opgegeven via page-height en page-width in millimeters. Voorbeeld: page-height=200;page-width=100 |
cover |
Kan worden gebruikt om voor een vaste pagina (url) voor alle andere pagina's in de PDF op te nemen . De cover-pagina zal worden ingevoegd zonder headers en footers. Voorbeeld: cover=http://www.site-supply.nl/help |
dpi |
Gewenste 'drukkwaliteit' in dpi. Voorbeeld: dpi=100 |
disable-javascript |
Op de (web)pagina kan (beperkt) gebruik worden gemaakt van javascript. Als dat niet gewenst is bij het converteren van de pagina naar HTML, gebruik dan deze optie. |
grayscale |
Voor een PDF in grijswaarden (i.pv. kleuren). Voorbeeld: grayscale=1 |
lowquality |
Resulteert in een PDF van kleinere omvang. Voorbeeld: lowquality=1 |
margin-top |
Gewenste marges rondom de pagina in de PDF in millimeters. Standaard: 10. Voorbeeld: margin-top=10 |
zoom |
Gewenste zoom-factor. Standaard: 1. Voorbeeld: zoom=2 |
disable-internal-links |
De hyperlinks op een pagina zijn ook klikbaar in de PDF. Als dat niet gewenst is voor eigen hyperlinks (van en naar de eigen website), zet deze optie dan op 1. Voorbeeld: disable-internal-links=1 |
disable-external-links |
De hyperlinks op een pagina zijn ook klikbaar in de PDF. Als dat niet gewenst is voor hyperlinks naar externe websites, zet deze optie dan op 1. |
disable-smart-shrinking |
De HTML to PDF module zorgt er automatisch netjes voor dat een pagina netjes in de PDF kan worden weergeven op basis van het paginaformaat. Dit kan soms leiden tot een afwijkende lengte/breedte ratio (pixels/dpi) van de oorspronkelijk webpagina. Als automatisch verkleinen niet gewenst is, zet deze optie dan op 1. Voorbeeld: disable-smart-shrinking=1 |
no-background |
Toont geen css-background images uit de PDF. Voorbeeld: no-background=1 |
print-media-type |
Een HTML-pagina kan meerdere stylesheets bevatten voor verschillende media (bijv. voor screen (standaard), print, etc.) Voeg deze optie toe om de module aan te geven dat de print-stylesheet gebruikt moet gaan worden. Voorbeeld: print-media-type=1 |
user-style-sheet |
Indien gewenst kan een apart css-bestand worden ingeladen voor dat de pagina wordt omgezet naar PDF. Geef bij deze optie een url op naar het css-bestand. Voorbeeld: user-style-sheet=http://www.site-supply.nl/css/sst3/pdf.css |
Voorbeelden van het gebruik van opties...
default-header |
Voegt een standaard header in, met de naam van de pagina links en het paginanummer rechts. Dit is een 'afkorting' voor: |
footer-left footer-center |
De footer-tekst die links, rechts en/of in het midden moet worden getoond. |
footer-font-name |
Te gebruiken lettertype. |
footer-font-size |
Fontgrootte. Standaard: 11. Voorbeeld: footer-font-size=12 |
footer-line |
Toont een lijn boven de footer. Voorbeeld: footer-line=1 |
footer-spacing |
Ruimte tussen footer en de inhoud in mm. Standaard: 0. Voorbeeld: footer-spacing=10 |
footer-html |
Hier kan een url worden opgegeven naar een pagina met HTML voor de footer. Voorbeeld: footer-html=http://www.site-supply.nl/mijnfooter.html |
header-left |
De header-tekst die links, rechts en/of in het midden moet worden getoond. |
header-font-name |
Te gebruiken lettertype. |
header-font-size |
Fontgrootte. |
header-line |
Toont een lijn onder de header. |
header-spacing |
Ruimte tussen header en de inhoud in mm. |
header-html |
Hier kan een url worden opgegeven naar een pagina met HTML voor de header. |
De gebruikte HTML to PDF converter is gebaseerd op de HTML-render engine Webkit die Safari en Google Chrome ook gebruiken. De PDF zal de pagina dus weergeven zoals die browsers hem ook zouden weergeven. Is de uitkomst dus niet naar wens, controleer dan eerst met Safari/Chrome of de opmaak daar wel in orde is en pas de html/css eventueel aan.
Het aantal instellingen dat aan de module meegegeven kan worden zijn er soms veel, bijv. voor een header en footer, inhoudsopgave, formaat, etc. Om dat te vereenvoudigen en het testen te vergemakkelijken kunnen de instellingen ook in een apart bestand worden opgeslagen.
Het bestand moet bij een vormgeving zijn opgeslagen en kan elke gewenste naam hebben. Om de html to pdf module het bestand te laten gebruiken moet de naam van de vormgeving en de naam van het bestand worden meegegeven. Voorbeeld:
http://www.htmltopdf.nl/?url=...&style=<vormgeving>&options=<bestand>
Het bestand bevat per regel de opties met hun waarde. Voorbeeld van de inhoud van een bestand:
### htmltopdf config bestand voor 'xyz' rapport margin-top=10 header-html=/css/htmltopdf-blank.html margin-bottom=10 footer-html=/css/htmltopdf-blank.html footer-right=[page]/[toPage] footer-font-size=8 page [cover] toc xsl-style-sheet=toc.xsl
Voordeel van een opties bestand is tevens dat de opmaak voor de inhoudsopgave (toc: table of contents) de pagina's apart opgegeven kunnen worden.
Eventueel kunnen instellingen in het bestand ook nog dynamisch worden gemaakt door ze tussen blokhaken op te nemen met de naam van de parameter die alsnog via de aanroep is meegegeven. In bovenstaande voorbeeld is bijv. de verwijzing naar het voorbeeld ([cover]) dynamisch en ziet de aanroep van de module er als volgt uit:
http://www.htmltopdf.nl/?url=...&style=<vormgeving>&options=<bestand>&cover=http://www.xyz.nl/css/vormgeving/voorblad.html
NB: [page] en [toPage] worden niet als parameters doorgegeven en dus ook niet direct vervangen. Die variabelen worden door de html to pdf module later alsnog zelf verwerkt (en bevatten dan per pagina dan het actuele paginanummer en aantal pagina's).