Jak przeanalizować PDF w PHP

Jak przeanalizować PDF w PHP
Czy kiedykolwiek próbowałeś otworzyć plik PDF, aby wyszukać określony wiersz lub słowo? To nie działa. Wszystko, co znajdziesz, to dane binarne, które nie mają absolutnie żadnego sensu.

Parsowanie plików PDF jest bardzo żmudne i skomplikowane dla każdego programisty, nie dlatego, że jest złożony, ale ze względu na charakter plików PDF. Pliki PDF zawierają obiekty identyfikowane przez unikalny numer. Obiekty PDF mogą gromadzić informacje, takie jak obrazy, tekst i inne. Te obiekty są szyfrowane i ściśnięte, co czyni prawie niemożliwe przetwarzanie plików PDF jako dokumentów tekstowych.

Ten przewodnik dowie się, jak analizować dokumenty PDF za pomocą języka programowania PHP.

Organizować coś

Pierwszym krokiem jest założenie środowiska programistycznego. Zaczniemy od zainstalowania PHP i wymaganych bibliotek.

Aby zainstalować PHP, otwórz terminal i wprowadź polecenie:

$ sudo apt-get instaluj php7.5 -y

Po zainstalowaniu php użyj go do instalacji kompozytora, jak pokazano w poleceń:

php -r "copy ('https: // getComposer.org/installer ”,„ kompozytor-zestaw.php '); "
php -r "if (hash_file („ sha384 ',' composer -detup.php ') ===
'906A84DF04CEA2AA72F40B5F787E49F22D4C2F19492AC310E8CBA5B96AC8B64115AC402C8CD292B
8a03482574915d1a8 ') echo „instalator zweryfikowane”; else echo „instalator corupt”;
unlink ('Composer-Setup.php '); echo php_eol; "
PHP Composer-SETUP.php
php -r "unlink ('Composer -SETUP.php '); "

Po zainstalowaniu i skonfigurowaniu kompozytora możemy przejść do użycia biblioteki PDFPARSER.

Otwórz terminal i wprowadź polecenie:

$ sudo php kompozytor.Phar wymaga smalot/pdfparser

Wygeneruj plik PDF

Następnym krokiem jest wybranie pliku PDF do użycia. Istnieją różne sposoby i zasoby, których możesz użyć do utworzenia pliku PDF. Na przykład, jeśli jesteś w systemie Windows, możesz wyeksportować .Dokument DOC/DOCX do PDF.

Jednak w tym przykładzie będziemy używać bezpłatnych plików łatwo dostępnych w Internecie. Otwórz przeglądarkę i przejdź do zasobu podanego poniżej:

https: // plik plików.com/formaty/pdf

Wybierz jeden z dostępnych plików PDF i zapisz je w swoim systemie.

NOTATKA: Przed użyciem takich dokumentów upewnij się, że sprawdź złośliwe pliki. Narzędzia takie jak Virustotal to świetne zasoby.

https: // www.Virustotal.com/gui/

Poniżej znajduje się raport skanowania próbki 1.plik PDF.

https: // www.Virustotal.com/gui/file/6B22904A7DE5B77BF40598C37E94E01771485E1B900651B58BF50AF7009F8056

Wyciągnij metadane PDF

Aby wyodrębnić metadane z PDF za pomocą biblioteki parserów PDF, możemy zaimplementować przykładowy kod, jak pokazano poniżej:

// Uwzględnij Autoloader kompozytora
Dołącz dostawcę/autoload.php ';
// Parse pdf
$ parser = new \ smalot \ pdfparser \ parser ();
$ pdf = $ parser-> parseFile ("próbka1.pdf ”);
// Zdobądź metadane
$ metadata = $ pdf-getDetails ();
// zapętlają każdą właściwość
foreach ($ metadata jako meta => $ wartość)
if (is_array ($ value))
$ wartość.Implode (",", $ wartość);

Echo $ meta . "=>" . $ wartość . "\N";

?>

Powyższy kod powinien pobierać informacje o metadanych o pliku. Takie informacje obejmują:

CreationDate: 2016-12-22T11: 43: 55-05: 00
Twórca: Adobe Indesign CC 2015 (Macintosh)
ModDate: 2016-12-29T15: 47: 20-05: 00
Producent: Adobe PDF Library 15.0
Uwięziono: Fałsz
Strony 1

Wyodrębnij tekst

Aby wyodrębnić tekst z każdej strony przesłanego PDF, możemy zaimplementować kod, jak pokazano poniżej:

Dołącz „dostawca/autoload.php ";
$ parser = new \ smalot \ pdfparser \ parser ();
$ pdf = $ parser-> parseFile ("próbka1.pdf ”);
$ text = $ pdf-> getText ();
echo $ tekst;
?>

Po uruchomieniu powyższego kodu powinniśmy zobaczyć tekst wyodrębniony z próbki 1.plik PDF. Przykład Ouput jest jak pokazano poniżej:

Zamknięcie

Ten przewodnik pokazuje, w jaki sposób możesz przeanalizować pliki PDF za pomocą PHP i biblioteki PDFPARSER. Sprawdź dokumentację, aby dowiedzieć się więcej.