Hoe print gehele site als pdf (Joomla of Wordpress)

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • beerten
  • Registratie: Juni 2003
  • Laatst online: 17-05 10:38
Hoi,

ik ben op zoek naar een manier om een gehele website als 1 pdf weg te schrijven.
Anders gesteld: de website is de digitale versie van een brochure/folder. Ik wil graag en een digitale folder en een website. 2 losse dingen is niet handig, dat moet handiger kunnen.

Kan ik in Joomla, of Wordpress, via .... bijvoorbeeld alle artikelen op 1 pagina krijgen en die aanbieden als pdf? Of printbare opmaak?
Zijn daar plugins voor die dit kunnen, de gehele website als document wegzetten? Of maak ik een Joomla of Wordpress een bijvoorbeeld iets als categorie "folder" en groepeer op deze manier all content? En hoe dan? Handwerk of?

Ik moet nog kiezen tussen Wordpress of Joomla, waarbij ik neig naar Joomla. Als ik zoek naar bijvoorbeeld pdf plugins vind ik vanalles. Maar de functionaliteit die ik zoek zie ik nergens beschreven.

Iemand enig idee hoe ik dit het beste kan aanpakken? Plugins, handigheidje in Joomla of Wordpress of?

Alle reacties


Acties:
  • 0 Henk 'm!

  • -36-
  • Registratie: Januari 2009
  • Laatst online: 30-04 21:36

-36-

Trust me. I'm an amateur

Alle losse pagina's als (versimpelde) PDF printen en vervolgens met een pdf-tool aan elkaar plakken.

Acties:
  • 0 Henk 'm!

  • beerten
  • Registratie: Juni 2003
  • Laatst online: 17-05 10:38
-36- schreef op vrijdag 16 november 2018 @ 17:57:
Alle losse pagina's als (versimpelde) PDF printen en vervolgens met een pdf-tool aan elkaar plakken.
Precies dit is de reden van mijn vraag. Het moet realtime. Artikel op de site aanpassen = pdf aanpassen. 1 bron van data.

Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 09-05 19:07

MAX3400

XBL: OctagonQontrol

Ben je bereid water bij de wijn te doen ten opzichte van de "normale" webshop en de "PDF print"? Want dan kan je mogelijk gebruik maken van de volgende gedachtengang, even heel basaal gesteld:

- definieer een nieuwe pagina met daarin "select * from produkten"
- geef die nieuwe pagina een andere CSS en/of vermeldt minder specifieke gegevens
- of gooi een mobile theme over die pagina om per definitie minder data te tonen
- gebruik dan een plugin als https://wordpress.org/plugins/printfriendly/ op die uiteindelijke pagina

Tweakers doet ongeveer hetzelfde; als je een volledige browser-CSS gebruikt tegenover een mobile-CSS, ziet de lijst met produkten er toch alweer anders uit en kan je er makkelijker meer produkten op 1 pagina kwijt en zal de PDF korter / kleiner worden.

Afbeeldingslocatie: https://tweakers.net/ext/f/BlpQooe1nbXabRs1ZyVySFhp/medium.jpg Afbeeldingslocatie: https://tweakers.net/ext/f/k0cEe3tD2UbhNsGYdi8VVCFr/medium.jpg

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • +1 Henk 'm!

  • b2vjfvj75gjx7
  • Registratie: Maart 2009
  • Niet online
MAX3400 schreef op vrijdag 16 november 2018 @ 19:03:
Ben je bereid water bij de wijn te doen ten opzichte van de "normale" webshop en de "PDF print"
Nooit water bij de wijn doen, dat maakt de wijn namelijk minder smakelijk.

Zelf heb ik een eigen WP plug-in geschreven op basis van domPDF -> https://github.com/dompdf/dompdf

Die spuugt gewoon real-time je pagina uit, als PDF, met respect voor de... DOM (hence the name).

Of er nog andere plug-ins (de mijne is commercieel en helaas niet open-source) zijn, weet ik niet - maar je kan gewoon een 100% exacte conversie van HTML via DOM naar PDF krijgen... voor minder moet je het niet doen.

- edit - hoe ik werk, is niet met een media-query voor 'print' maar gewoon een variabele in de URL.

Dus bv. https://website.naam/pagina.extensie/?pdf

PHP ziet vervolgens dat er een PDF gemaakt moet worden, parsed de broncode dynamisch naar de API van de plug-in, spuugt PDF uit (headers : PDF) en that's it. Met een geforceerde 301-redirect voorkom je ook dat de browser de PDF intern opent, en krijg je dus een nette download van de opgevraagde pagina.

Doe het met AJAX (via wp-ajax) en de gebruiker merkt niets van deze flow... klik... pagina wordt opgeslagen als PDF.

- update - test -> https://deathgrunt.com/tmp/how2pdf/ [ TS is op weg geholpen, link is uitgezet ]

[ Voor 33% gewijzigd door b2vjfvj75gjx7 op 20-11-2018 21:39 ]


Acties:
  • +1 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 09-05 19:07

MAX3400

XBL: OctagonQontrol

@b2vjfvj75gjx7 ter mijner info; uit je beschrijving begrijp ik dat de PDF per pagina kan worden gemaakt?

Uit de topicstart lees ik iets subtiel anders; alsof een PDF altijd ter download moet zijn ongeacht op welke pagina je zit. Ook "Artikel op de site aanpassen = pdf aanpassen. 1 bron van data."

Geen idee of jouw code daarin voorziet maar de vraagstelling klinkt meer als een zoektocht naar een back-end oplossing; die houdt in de gaten (hoe dan ook) dat er in de produkten-table iets veranderd is en daarmee bijna realtime alles weer dumpt naar een PDF/catalogus.

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • +1 Henk 'm!

  • b2vjfvj75gjx7
  • Registratie: Maart 2009
  • Niet online
MAX3400 schreef op zondag 18 november 2018 @ 20:49:
@b2vjfvj75gjx7 ter mijner info; uit je beschrijving begrijp ik dat de PDF per pagina kan worden gemaakt?

Uit de topicstart lees ik iets subtiel anders; alsof een PDF altijd ter download moet zijn ongeacht op welke pagina je zit. Ook "Artikel op de site aanpassen = pdf aanpassen. 1 bron van data."

Geen idee of jouw code daarin voorziet maar de vraagstelling klinkt meer als een zoektocht naar een back-end oplossing; die houdt in de gaten (hoe dan ook) dat er in de produkten-table iets veranderd is en daarmee bijna realtime alles weer dumpt naar een PDF/catalogus.
TS wil een complete site als PDF aanbieden (volgens mij?) - wat natuurlijk weer extra grappig is.

Maar juist dan is het raadzaam via een parameter in de URL aan te geven dat je dat wil...

Je kan bv. iets maken als dit;

1) website : https://domein/

2) pdf van de website : https://domein/?2pdf

3) via PHP de parameter '2PDF' afvangen en vervolgens een query doen naar de database van wordpress

4) op server-level trek je dan die hele database leeg, spuugt er een dynamische pagina mee uit (met alle pagina's, producten, content naar keuze)

5) al die code 'harvest' je en zet je via DOMPDF om naar een PDF

In principe niet heel lastig, het moet alleen even gemaakt worden :p

(en DOM PDF is daar perfect voor geschikt)... je voedt DOM PDF gewoon met HTML, en die HTML genereer je weer via PHP, door een ping te doen naar de database van WordPress...

#beenThereDoneThat

Acties:
  • 0 Henk 'm!

26779

Voor het maken van screenshots van gedeeltelijke of hele webpagina's gebruik ik altijd Nimbus Screenshot.
Links naar addons voor alle browsers: https://nimbusweb.me/screenshot.php

Acties:
  • 0 Henk 'm!

  • Luchtbakker
  • Registratie: November 2011
  • Laatst online: 21-05 10:39

Luchtbakker

Elke dag een "beetje" beter

Ik gebruik dit al jarenlang op Chrome. Hiermee maak je screenshot van een hele of gedeelte van een pagina, en exporteer je het als jpg of PDF: https://chrome.google.com...caechififmbbbbbknoalclacl

Simpel, en volledig gratis.

[ Voor 6% gewijzigd door Luchtbakker op 18-11-2018 21:12 ]


Acties:
  • 0 Henk 'm!

  • b2vjfvj75gjx7
  • Registratie: Maart 2009
  • Niet online
26779 schreef op zondag 18 november 2018 @ 21:03:
Voor het maken van screenshots van gedeeltelijke of hele webpagina's gebruik ik altijd Nimbus Screenshot.
Links naar addons voor alle browsers: https://nimbusweb.me/screenshot.php
Dit werkt enkel client-side, TS wil een server-side oplossing.

Acties:
  • +3 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 09-05 19:07

MAX3400

XBL: OctagonQontrol

michelsoe12 schreef op zondag 18 november 2018 @ 21:11:
Ik gebruik dit al jarenlang op Chrome.
Lijkt me niet heel handig om je bezoekers te verplichten Chrome te gebruiken. Nog afgezien van het feit dat je ook met mobiele bezoekers zit (waar een berg plugins dus helemaal niet kunnen worden gedraaid).

@beerten kan je hier iets mee proberen: http://www.flipbuilder.com/wordpress-pdf-catalog-plugin.html ? Allicht een optie als je er ondertussen uit bent wat voor CMS je gaat gebruiken voor je site. Andersom; misschien is het ook zinvol dat we wat meer info krijgen wat je precies bedoelt; als de Mediamarkt 6x per dag hun prijzen aanpast in de winkels, is hun week-PDF ook niet up-to-date...

[ Voor 35% gewijzigd door MAX3400 op 18-11-2018 21:17 ]

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • +3 Henk 'm!

  • b2vjfvj75gjx7
  • Registratie: Maart 2009
  • Niet online
MAX3400 schreef op zondag 18 november 2018 @ 21:13:
[...]

Lijkt me niet heel handig om je bezoekers te verplichten Chrome te gebruiken. Nog afgezien van het feit dat je ook met mobiele bezoekers zit (waar een berg plugins dus helemaal niet kunnen worden gedraaid).
Diens bijdrage is net zo dom als "ik gebruik al jaren een DELL laptop met elektriciteit via Eneco - dat werkt perfect".

Soms vraag ik me echt af wat voor debielen hier advies geven op totaal low-level vragen.

Acties:
  • 0 Henk 'm!

  • Zarathustra
  • Registratie: Januari 2008
  • Laatst online: 28-04-2020
Voorstel van Max is prima. Al zou ik die aparte pagina dan server-side omzetten in pdf. Zijn genoeg tools om een HTML pagina om te zetten in pdf.

Dus custom WordPress template met alle artikelen. Aparte url / WP handler, die controleert of de pdf catalogus bestaat en niet verouderd is. Als ok dan pdf downloaden. Anders tool aanroepen die pagina met complete catalogus omzet in een pdf en dan download.

Iets handwerk of met die plugin die hier boven genoemd wordt. (Zal vast ook in Joomla kunnen overigens)

Iets eenvoudigere variant is om via cron eens per uur / dag een pdf van de pagina met de catalogus te maken en wegschrijven in een download map. Is de pdf niet altijd 100% actueel. Maar mss voldoende. Heb je uberhaupt niets met plugins te doen.

Echt mooi word het waarschijnlijk niet. Scherm en print zijn verschillende dingen. Je zou de pagina met artikelen vrij kaal kunnen laten en een strak opgemaakte pdf als achtergrond / template kunnen overwegen.

[ Voor 14% gewijzigd door Zarathustra op 18-11-2018 21:33 ]

Veni, vidi, vici - ik kwam, zag en overwon de drempels van het leven - denk ik dan maar, en vond vriendschap


Acties:
  • +1 Henk 'm!

  • b2vjfvj75gjx7
  • Registratie: Maart 2009
  • Niet online
willemjoosten schreef op zondag 18 november 2018 @ 21:27:
1). Dus custom WordPress template met alle artikelen. Iets handwerk of met die plugin die hier boven genoemd wordt. (Zal vast ook in Joomla kunnen overigens)

2). Iets eenvoudigere variant is om via cron eens per uur / dag een pdf van de pagina met de catalogus te maken.

3). Echt mooi word het waarschijnlijk niet.
1). Een HTML2PDF converter is CMS agnostisch.

2). Waarom een cron, het kan real-time - ik gebruik het bv. in een database met bijna 100.000 unieke entries, en daar duurt de PDF generatie minder dan een halve seconde.

3). Het wordt wel mooi, het is gewoon CSS in een PDF - en daar kan je meer mee dan je denkt.

- edit - https://deathgrunt.com/tmp/how2pdf/pdf/ [ TS is op weg geholpen, link is uitgezet ]

Eén regel code, en je laadt de hele front-page van de NOS in, en spuugt hem uit als PDF.

Dat plaatjes en styling niet overkomen, is de domheid van de NOS, want het kan wel - en nog real-time ook.

Echt, PDF-creatie is gewoon CMS agnostisch en kan met elke willekeurige asset ter wereld.

[ Voor 20% gewijzigd door b2vjfvj75gjx7 op 20-11-2018 21:38 ]


Acties:
  • 0 Henk 'm!

  • Zarathustra
  • Registratie: Januari 2008
  • Laatst online: 28-04-2020
Prima.

Veni, vidi, vici - ik kwam, zag en overwon de drempels van het leven - denk ik dan maar, en vond vriendschap


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Je kan met https://wkhtmltopdf.org/ aan de slag.
Gewoon een script schrijven die alle content onder elkaar plakt in één html document met page breaks.

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • q-enf0rcer.1
  • Registratie: Maart 2009
  • Laatst online: 11:16
DJMaze schreef op maandag 19 november 2018 @ 09:13:
Je kan met https://wkhtmltopdf.org/ aan de slag.
Gewoon een script schrijven die alle content onder elkaar plakt in één html document met page breaks.
Is zeker mogelijk met deze tool, maar houdt er wel rekening mee dat deze tool een verouderde webkit engine gebruikt waardoor je niet de nieuwste CSS features kunt benutten. Met https://pptr.dev heb je dat probleem niet _/-\o_

Acties:
  • +1 Henk 'm!

  • _NooT_
  • Registratie: Juni 2018
  • Laatst online: 21-05 16:16
Alle benodigde informatie die je nodig hebt wordt in de reacties hierboven gegeven.

Ik verzorg zelf jaarlijks een website, waarbij het geheel als vormgegeven pdf gedownload kan worden.
Je kan dit bekijken op https://plantumjaarplan.nl/
Het vergt enige inspanning als je het een beetje (anders) wil vormgeven en er zijn zeker beperkingen, maar echt lastig is het niet.

Om je op weg te helpen zal ik een duidelijke opsomming geven op basis van hoe ik het aangepakt heb:
  1. Installeer en activeer de plugin WP PDF templates
    Deze plugin gebruikt de eerder genoemde dompdf-library. Maak je maar niet druk om de melding dat het niet getest is met de huidige WordPress versie. De library doet het echte werk, de plugin maakt slechts de implementatie wat makkelijker.
  2. Maak een extra pagina aan op je website.
  3. Maak een template aan voor deze pagina (je kan het voorbeeld van de plugin gebruiken)
    Dit is gewoon standaard WordPress template.
    In mijn geval is de pagina zelf leeg en bouw ik deze in zijn geheel op in de template dmv de WordPress queries. Op deze wijze heb je veel controle over de opbouw van de pagina en kan je er bijvoorbeeld voor kiezen bepaalde velden juist wel of niet te tonen.
  4. Maak voor deze pagina een eigen print stylesheet indien gewenst

    Gebruik dit stukje css voor A4 pagina's zonder margins:
    code:
    1
    2
    3
    4
    5
    6
    7
    
        @media print {
                @page {
                    size: A4 portrait;
                    margin: 0;
                    padding:0;
                }
        }

    Gebruik bij voorkeur de eenheid 'mm' voor positionering en afmetingen en de eenheid 'pt' voor de font-size. Dat zijn de standaard eenheden voor print media.
    Je kan gebruik maken van speciale css properties voor page breaks e.d.

Acties:
  • 0 Henk 'm!

  • beerten
  • Registratie: Juni 2003
  • Laatst online: 17-05 10:38
TS Wil inderdaad een gehele website printen :)
Website is de online versie van een schoolgids. Zo veel is het niet.
Ik heb wat dingen voorbij zien komen die ik ga proberen. Dank allen voor het meedenken!
Pagina: 1