
PyMuPDF
Biblioteka Open Source Python do zarządzania metadanymi PDF
Wypróbuj PyMuPDF, darmową i otwartą bibliotekę języka Python umożliwiającą dostęp i modyfikację metadanych dokumentów PDF.
Czym jest PyMuPDF?
PyMuPDF, znany również jako Fitz, to biblioteka Pythona o otwartym kodzie źródłowym, która oferuje wiele funkcji, takich jak analizowanie plików PDF, dzielenie i scalanie plików PDF itp. Jednak na tej stronie omówimy tylko, w jaki sposób programiści Pythona mogą używać biblioteki PyMuPDF do obsługi zadań związanych z metadanymi PDF, takich jak:
- Odczyt metadanych PDF: PyMuPDF obsługuje dostęp do metadanych dokumentów PDF zawierających informacje takie jak autor, tytuł, temat i data utworzenia itp.
- Modyfikowanie metadanych PDF: Biblioteka umożliwia również modyfikowanie metadanych dokumentów PDF.
- Odczyt metadanych XML: Dokumenty PDF zawierają również metadane XML, które nie ograniczają się do standardowych właściwości dokumentu, takich jak autor, tytuł itp. i mogą mieć dodatkowe metadane. Dzięki PyMuPDF programiści mogą je również odczytać.
- Zmiana metadanych XML: Programiści mogą również zmieniać metadane XML plików PDF, korzystając z biblioteki PyMuPDF.
Pierwsze kroki z PyMuPDF
Potrzebujesz wersji Pythona 3.8.0 lub nowszej, aby zainstalować i używać PyMuPDF. Więc najpierw zainstaluj Python, a następnie użyj poniższych poleceń, aby zainstalować PyMuPDF na swoim komputerze, używając pip i środowiska wirtualnego.
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
macOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Okna
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Przeczytaj metadane PDF
Możemy odczytać metadane pliku PDF, używając elementu metadata biblioteki PyMuPDF, który zawiera pełną zawartość metadanych dokumentu. Poniższy fragment kodu pokazuje, jak uzyskać metadane pliku PDF z elementu metadata:
Wyjście
Poniższy zrzut ekranu pokazuje metadane pobrane z pliku PDF za pomocą PyMuPDF:
Edytuj metadane PDF
Możemy edytować metadane plików PDF za pomocą biblioteki PyMuPDF, przekazując słownik zawierający pola, które chcemy zmienić, wraz z ich nowymi wartościami, do metody set_metadata, jak pokazano w poniższym fragmencie kodu:
Odczyt metadanych XML plików PDF
Możemy pobrać metadane XML pliku PDF za pomocą biblioteki PyMuPDF. Używamy metody get_xml_metadata, która zwraca całe metadane XML, jak pokazano w poniższym fragmencie kodu:
Wyjście
Poniższy zrzut ekranu przedstawia metadane XML pobrane z pliku PDF za pomocą PyMuPDF:
Zmiana metadanych XML plików PDF
Możemy ustawić lub zmienić metadane XML pliku PDF za pomocą metody set_xml_metadata biblioteki PyMuPDF. Nie jest to tak proste, jak zastąpienie metadanych na poziomie dokumentu, ponieważ set_xml_metadata zaakceptuje dowolny ciąg i zastąpi kompletne metadane XML ciągiem przekazanym do niego.
Aby uniknąć przypadkowego usunięcia jakichkolwiek informacji metadanych, najpierw pobieramy kompletne metadane XML jako ciąg za pomocą get_xml_metadata, a następnie używamy metody replace ciągu, aby zastąpić żądane informacje, a na koniec przekazujemy kompletny XML ze zmienionymi polami do metody set_xml_metadata, która zmienia całe metadane XML pliku PDF. Sprawdź poniższy fragment kodu, aby uzyskać szczegóły:
Wniosek
Podsumowując, PyMuPDF jest świetnym narzędziem do zadań związanych z manipulacją metadanymi. Możemy łatwo pobierać i zmieniać informacje metadanych plików PDF. Jednak zauważalną słabością jest metoda set_xml_metadata. Ta metoda akceptuje dowolny przekazany jej ciąg znaków i nadpisuje nim poprzedni XML, co może spowodować niezamierzoną utratę informacji, aby uniknąć tego problemu, programiści muszą zaimplementować swoją logikę, aby zapewnić prawidłowe modyfikacje metadanych XML.