Problema di impaginazione
-
22-07-2019 - |
Domanda
Attualmente ho alcuni documenti xml che vengono convertiti via xsl in html. L'html viene convertito tramite abcpdf in un documento pdf. Il contenuto delle pagine è dinamico. Una pagina è rappresentata da un tag div, tuttavia la quantità di contenuti in entrata potrebbe in realtà essere lunga 3 pagine & amp; Ho bisogno di alcune pagine per inserire un'intestazione e un piè di pagina e altre no, quindi se un tag div ha 3 pagine di contenuto, ciò significa che vengono inserite 3 intestazioni e 3 piè di pagina.
Inoltre, poiché il contenuto è dinamico, la pagina 10 potrebbe non avere piè di pagina o intestazione, tuttavia una volta che la logica dell'applicazione è passata attraverso una seconda volta, la pagina 10 potrebbe effettivamente essere la pagina 20.
Sto cercando una soluzione che utilizza CSS per aggiungere condizionalmente intestazioni e piè di pagina. È facile usare XSL per aggiungerli, ma dato che un div può contenere fino a 3 pagine di contenuto, ho bisogno di un modo per aggiungere intestazioni e piè di pagina (o forse no) in tutte e 3 le pagine contenute in un div.
Ho esaminato l'impaginazione CSS, ma non sono sicuro che questa sia la soluzione giusta.
Qualsiasi idea sarebbe accolta con grande favore
Soluzione
Hai mai pensato di usare XSL-FO (www.w3schools.com/xslfo/xslfo_intro.asp) con Apache FOP (xmlgraphics.apache.org/fop) per trasformare il tuo contenuto XML direttamente in un PDF? A differenza di CSS XSL-FO è progettato per la stampa e come tale l'impaginazione fa parte del linguaggio. È anche abbastanza facile da prendere se conosci già XSLT & amp; CSS, infatti la sintassi di formattazione è presa da CSS 2. Potresti anche usarla su HTML se è XHTML valido, e ci sono strumenti come CSSToXSLFO (www.re.be/css2xslfo/index.xhtml) che possono aiutarti .