Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Leggere file .pdf

  1. #1

    Leggere file .pdf

    Spero che sia una domanda banale,

    ho trovato in rete tutto quello che serve (ed anche quello che non serve) per generare files pdf con pdflib ecc..ecc..

    Quello che non sono riuscito a trovare è un più semplice reader per i files pdf e cioè una classe, funzione o script che mi permetta di "leggere" il contenuto di un file pdf al volo (come se fosse un file di testo) senza doverlo per forza "trasformare" in txt o html con script esterni.
    Ora mi arrangio con un exec('./pdftohtml') che è un programma di shell per trasformare i pdf in html, ma devo lanciare comandi shell da php e la cosa mi secca non poco (questioni di sicurezza, di resa del codice e soprattutto di pulizia del file system, visto che i files generati in questo modo devono essere "scritti" su disco).

    Che voi sappiate è possibile?

    Grazie

    Ciao

  2. #2
    uppo

  3. #3
    riup (ultima volta, giuro, poi desisto)

  4. #4
    Ciao,
    non credo ci sia altro modo....

    Da quel che vedo nel man puoi raccogliere l'output (e magari inserirlo in un database) anzichè creare il file.
    La creazione del file però è utile perchè puoi implementare un sistema di caching.
    Cioè non tutti i navigatori eseguono exec(etc.etc.) ma solo uno ogni tanto, gli altri vedono il file già trasformato.
    Puoi assegnare al file trasformato un tempo di validità x e quando questo è scaduto se vuoi lo puoi rigenerare.

    In questo modo limiti il numero di chiamate di sistema.

    Per quanto riguarda la sicurezza basta impedire all'utente di iniettare qualsiasi tipo di comando che non sia quello che ti interessa (pdftohtml, appunto)

    per favore NIENTE PVT TECNICI da sconosciuti

  5. #5
    oki, se neanche superFabio lo sa, vuol dire che nun se po'! (ciao, felice di risentirti).

    Buono, vuol dire che faro' un arzigogolo del tipo:

    upload del pdf (dell'utente) --> creazione file html (con exec(blabla)) --> lettura file e scrittura contenuto in DB --> cancellazione file.

    Così resto con il file system pulito e, facendolo una sola volta per ogni utente anche la resa non può essere poi così male.

    (Se volete poi posso anche farci scappare una pillolozza)

    Thx Fabio.

    Ultima cosa,
    nel php.ini a parte il safe.mode = off che altra impostazione devo attivare (o disattivare) per poter eseguire codice esterno?

    La funzione exec, adesso, funziona ma mi dà errore e mi dice che "cannot execute blank code" (o qualcosa del genere), nonostante io utilizzi il backtricksgnaps operator ecc..ecc..

    ciao a tutti

  6. #6
    Originariamente inviato da Settenanus
    (ciao, felice di risentirti).
    Ciao

    Buono, vuol dire che faro' un arzigogolo del tipo:

    upload del pdf (dell'utente) --> creazione file html (con exec(blabla)) --> lettura file e scrittura contenuto in DB --> cancellazione file.

    Così resto con il file system pulito e, facendolo una sola volta per ogni utente anche la resa non può essere poi così male.
    Perfetto, comunque anche usare dei file di testo come cache (magari in una directory dedicata) non è tanto male, anzi risparmi un sacco di chiamate al db (pur perdendo la ricerca fulltext)

    (Se volete poi posso anche farci scappare una pillolozza)
    Sarebbe utile!

    Ultima cosa,
    nel php.ini a parte il safe.mode = off che altra impostazione devo attivare (o disattivare) per poter eseguire codice esterno?

    La funzione exec, adesso, funziona ma mi dà errore e mi dice che "cannot execute blank code" (o qualcosa del genere), nonostante io utilizzi il backtricksgnaps operator ecc..ecc..
    Puoi anche usare safe_mode attivo se gli eseguibili si trovano in una directory ben specificata.

    Comunque da quell'errore sembrerebbe che non riesca a capire il comando che gli invii, non l'ho mai visto prima però.
    Hai provato anche con popen()?
    per favore NIENTE PVT TECNICI da sconosciuti

  7. #7
    si, ho provato con tutti i comandi per eseguire codice con php.
    A questo punto credo sia un problema di permessi di esecuzione del programma.
    Io ho messo l'eseguibile a 777, ma evidentemente non basta, proverò a mettere a 777 anche gli altri files.
    Un errore era che il backtrick operator restituisce l'output del comando, non esegue il comando stesso, ma, anche tolto, non ricevo più nessun messaggio di errore,ma il programma non viene lanciato.
    Proverò a vedere se posso usarlo come modulo del web-server o, al limite, come cgi.

    saluti a tutti

  8. #8
    mi dici il nome dell'exe che usi per la trasformazione?

  9. #9
    html2pdf e pdf2text

    Ciao

  10. #10

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.