Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [PHP] Numero pagine...

  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [PHP] Numero pagine...

    [Premessa : so che è una cosa al limite del possibile]

    Ecco cosa ho in mente di fare (sempre che...).

    codice:
    INDICE
    --Capitolo 1
    -----sezione 1.a
    -----sezione 1.b
    -----sezione 1.c
    
    --Capitolo 2
    -----sezione 2.a
    -----sezione 2.b
    
    [...] e via così.
    Ogni capitolo o sezione è composto da diverse pagine lunghe a seconda della quantità di dati/elaborazione che viene fatta(es. numero dipendenti/banche dati usate...)

    Ciò che intendo fare è :

    Numerare le pagine con PHP (in fondo a ogni pagina)
    Visualizzare nell'indicie la pagina dei vari capitoli e/o sezioni


    So che è una cosa quasi impossibile, ma forse qualcuno ha già affrontato questa problematica e mi sa dire almeno se possa esssere fattibile...

    danke in advance!

    P.S. : non prendetemi per pazzo
    Guybrush Threepwood

  2. #2
    ma questa numerazione di pagina ti serve per una stampa o per la visualizzazione a browser? se è per la stampa (come credo) ti consiglio di fare stampe in PDF, creando i PDF al volo; così hai una gestione ordinata del contenuto di ogni singola pagina e una stampa molto pulita. se invece è per la visualizzazione web non ne vedo il senso...

    sempre per la stampa, ma usando normali pagine HTML e non i PDF, puoi gestirti i page-break con i CSS, in modo da avere sempre una numerazione sensata per ogni pagina/sezione senza perdere il controllo della stampa.

    Dai uno sguardo a questo (funziona sono con Internet Explorer):
    http://www.codeflower.com/index.php?a=showCode&id=30

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da OhMyGod
    ma questa numerazione di pagina ti serve per una stampa o per la visualizzazione a browser? se è per la stampa (come credo) ti consiglio di fare stampe in PDF, creando i PDF al volo; così hai una gestione ordinata del contenuto di ogni singola pagina e una stampa molto pulita. se invece è per la visualizzazione web non ne vedo il senso...

    sempre per la stampa, ma usando normali pagine HTML e non i PDF, puoi gestirti i page-break con i CSS, in modo da avere sempre una numerazione sensata per ogni pagina/sezione senza perdere il controllo della stampa.

    Dai uno sguardo a questo (funziona sono con Internet Explorer):
    http://www.codeflower.com/index.php?a=showCode&id=30
    Dunque.. il css che mi hai dato serve solo per avere delle interruzioni di pagina ma non è quello che mi occorre...


    Il discorso è che non sapendo la quantità di dati che verrà visualizzata ( possono essere 10 righe, come 100, per intederci) non posso impostare a prescindere un numero di pagina.

    Però, prevedendo un sommario devo inserire ogni capitolo a che pagina cade...

    P.S. : il motivo è la visualizzazione in stampa
    Guybrush Threepwood

  4. #4
    credo che l'unico modo sia fare delle prove e trovare il numero massimo di righe che ci stanno in ogni pagina, ammesso che l'altezza di ogni riga sia fissa. quando scorri il resultset della query che estrae i dati da stampare, conti quante righe stai inserendo nella pagina e se arrivi a quel numero massimo ci schiaffi un'interruzione di pagina.

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da OhMyGod
    credo che l'unico modo sia fare delle prove e trovare il numero massimo di righe che ci stanno in ogni pagina, ammesso che l'altezza di ogni riga sia fissa. quando
    Infatti l'altezza non è fissa

    è per questo che dicevo che era pressokè impossibile
    Guybrush Threepwood

  6. #6
    Potenziale soluzione.

    Hai la possibilità di prevedere, anche in modo un po' approssimativo, l'altezza di ogni singola riga? Se sì, puoi usare i PDF creati al volo per la stampa.

    La classe FPDF (www.fpdf.org) ti permette di conoscere le coordinate esatte del cursore di scrittura, in ogni momento. Se puoi prevedere in modo più o meno preciso l'altezza della singola riga, controlli che [coordinata_Y_cursore + altezza_riga_da_inserire] non sia superiore dell'altezza stampabile della pagina.

    Se non è superiore (quindi se la riga che stai ciclando può stare nella pagina attuale), la inserisci. Se è superiore ci schiaffi un'interruzione di pagina.

    La posizione corrente del cursore di scrittura la dovresti ricavare così:

    codice:
    $pdf->GetY();
    Mentre per il cambio di pagina:

    codice:
    $pdf->AddPage('', true, $pagenumbers_params);
    Dove $pagenumbers_params è un array con una serie di miei parametri par la numerazione delle pagine. Vedi la documentazione della FPDF per i dettagli.

    Così ho creato la stampa del catalogo in PDF di un sistema di "Catalogo Prodotti on-line", qua in versione demo:
    http://www.bizconsulting.it/demo/cat...atalog.php?l=1

    In questo catalogo, il numero di prodotti che è possibile inserire in ogni pagina dipende dalla lunghezza della descrizione (che è un testo lungo di dimensione variabile) e dalla presenza o meno di titoli di categorie (es.: Altra frutta, Formaggi, Funghi e bla bla bla...) in una particolare pagina (i titoli delle categorie di prodotti occupano uno spazio diverso rispetto a quello occupato dai singoli prodotti in catalogo).

    Fammi sapere se mi merito della birra come ringraziamento

  7. #7
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    ottima idea, ma ciò che vado a stampare è un po troppo complicato per il pdf..

    ci sono immagini, tabelle,[*]/<ul> Css e molto altro...

    Per cui dovrei praticamente rifare tutto per il pdf...
    Guybrush Threepwood

  8. #8
    eh..... 'tta manera....
    fare questo in PHP/HTML è impossibile, credo.
    suppongo che i PDF siano l'unica soluzione, per la formattazione base non dovresti avere problemi (tabelle, immagini, liste puntate e altri tipi di formattazione... la FPDF dovrebbe supportarli). per CSS e cose complicate mi sa che devi accontentarti.

    altrimenti prova a vedere se i CSS usati in modo avanzato permettono di gestire stampe di questo tipo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.