Domanda

Voglio estrarre i campi disponibili come una matrice da un PDF compilabili.

una matrice simile: array('firstname','secondname','address');

Non ho bisogno i valori per quei campi, se sono pieni.

che cosa è il modo più semplice per farlo con PHP?

È stato utile?

Soluzione

in documentazione in linea per "fdf_next_field_name" il seguente esempio è dato che è possibile modificare per memorizzare i nomi dei campi in un array

<?php
$fdf = fdf_open($HTTP_FDF_DATA);
for ($field = fdf_next_field_name($fdf); $field != ""; $field = fdf_next_field_name($fdf, $field)) {
    echo "field: $field\n";
}
?>

Altri suggerimenti

I upvoted la risposta di Murray perché la sua era in Ernest e sono abbastanza sicuro che ha ragione pre PHP 5.3

Purtroppo, PECL DFF non c'è più.

Per fortuna, uno "noah" ha fatto un commento sulla documentazione php con una preg_match_all regex soluzione al problema. Incluso qui con lievi modifiche per chiarezza. Noah Viva.

function parse($text_from_file) {
            if (!preg_match_all("/<<\s*\/V([^>]*)>>/x",$text_from_file,$out,PREG_SET_ORDER))
                    return;
            for ($i=0;$i<count($out);$i++) {
                    $pattern = "<<.*/V\s*(.*)\s*/T\s*(.*)\s*>>";
                    $thing = $out[$i][2];
                    if (eregi($pattern,$out[$i][0],$regs)) {
                            $key = $regs[2];
                            $val = $regs[1];
                            $key = preg_replace("/^\s*\(/","",$key);
                            $key = preg_replace("/\)$/","",$key);
                            $key = preg_replace("/\\\/","",$key);
                            $val = preg_replace("/^\s*\(/","",$val);
                            $val = preg_replace("/\)$/","",$val);
                            $matches[$key] = $val;
                    }
            }
            return $matches;
    }

mi aspetto che qualcuno otterrà fedup con la mancanza di vero sostegno DFF in PHP e risolvere il problema.

Dal momento che siamo tutti probabilmente dopo lo stesso flusso di lavoro di base, se state leggendo questa domanda, allora si dovrebbe sapere che il flusso di lavoro di base che sto seguendo è:

HTH

-FT

Se si controlla il pdf e vogliono solo le chiavi, di seguito funzionerà. Usi PHP, nessun altre librerie (buona se ospite non ha loro).

Imposta il pulsante di invio pdf in html e impostare la pagina per l'indirizzo in cui il vostro codice PHP verrà eseguito. entrare descrizione dell'immagine qui

$q_string  = file_get_contents("php://input");
parse_str($q_string , $pdf_array);
$pdfkeys = array_keys($pdf_array);

La stringa di query html, dal file pdf, viene messo nella variabile $ q_string. Viene quindi analizzato in un array chiamato $ pdf_array. $ Pdf_array detiene tutte le chiavi e valori. Poi array_keys () viene utilizzato per mettere tutte le chiavi in ??$ pdfkeys come si voleva.

I era venuto qui in cerca come leggere i valori pdf di mettere in un db, e, infine, dopo un po 'di più rovistando si avvicinò con quanto sopra. Speriamo che soddisfa le esigenze di alcune persone. XFDF può anche funzionare, ma è necessario analizzare come XML, allora -. Questo era più semplice per me

ho un post normale da file PDF presentazione al mio assistente, ma non nel _POST array $. Non vi resta che analizzarlo da PHP: // Ingresso:

$allVars = file_get_contents("php://input");

parse_str($allVars, $myPost);

foreach($myPost as $key => $value) {
 $allKeys[] = $key;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top