home | sitemap

HTML to PDF

Met behulp van de HTML to PDF-module kunnen webpagina's eenvoudig worden omgezet naar een PDF-document. Bijvoorbeeld:

http://www.htmltopdf.nl/?url=http://www.site-supply.nl/help;url=http://www.site-supply.nl/contact/algemeen;footer-right=Dit%20is%20de%20tekst%20voor%20de%20footer

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> 

Algemene opties

url

De url van de webpagina waarvan een PDF-document gemaakt moet worden.
Deze optie mag meer dan eens voorkomen.

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.
Voorbeeld: copies=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
page-width

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.
Voorbeeld: disable-javascript=1

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
margin-right
margin-bottom
margin-left

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.
Voorbeeld: disable-external-links=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:
header-left=[webpage]
header-right=[page]/[toPage]
top=2cm
header-line=1
Voorbeeld: default-header=1

footer-left

footer-center 
footer-right

De footer-tekst die links, rechts en/of in het midden moet worden getoond.
Voorbeeld: footer-left=Mijn%20Footer%20tekst

footer-font-name

Te gebruiken lettertype.
Standaard: Arial.
Voorbeeld: footer-font-name=Helvetica

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
header-center
header-right

De header-tekst die links, rechts en/of in het midden moet worden getoond.

header-font-name 

Te gebruiken lettertype.
Standaard: Arial.

header-font-size

Fontgrootte.
Standaard: 11.

header-line

Toont een lijn onder de header. 

header-spacing

Ruimte tussen header en de inhoud in mm.
Standaard: 0.

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. 

Opties meegeven via een bestand 

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).