PyMuPDF
Perpustakaan Python Sumber Terbuka untuk Mengurus Metadata PDF
Cuba pustaka Python PyMuPDF, Percuma & Sumber Terbuka untuk mengakses dan mengubah suai metadata dokumen PDF.
Apakah PyMuPDF?
PyMuPDF, juga dikenali sebagai Fitz, ialah perpustakaan Python sumber terbuka yang menawarkan banyak ciri seperti menghuraikan PDF, memisahkan dan menggabungkan PDF dsb. tetapi dalam halaman ini kami hanya akan membincangkan tentang cara pembangun Python boleh menggunakan perpustakaan PyMuPDF untuk mengendalikan tugas berkaitan metadata PDF seperti:
- Baca Metadata PDF: PyMuPDF menyokong akses metadata dokumen PDF yang mengandungi maklumat seperti pengarang, tajuk, subjek dan tarikh penciptaan dsb.
- Ubah suai Metadata PDF: Pustaka juga membenarkan mengubah suai metadata dokumen PDF.
- Baca Metadata XML: Dokumen PDF juga mengandungi metadata XML yang tidak terhad kepada sifat dokumen standard seperti pengarang, tajuk dsb. dan boleh mempunyai metadata tambahan. Dengan PyMuPDF, pembangun juga boleh membacanya.
- Tukar Metadata XML: Pembangun juga boleh menukar metadata XML PDF menggunakan perpustakaan PyMuPDF.
Bermula dengan PyMuPDF
Anda memerlukan Python versi 3.8.0 atau lebih tinggi untuk memasang dan menggunakan PyMuPDF. Jadi, mula-mula pasang Python dan kemudian gunakan arahan di bawah untuk memasang PyMuPDF pada mesin anda menggunakan pip dan persekitaran maya.
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
Windows
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Baca Metadata PDF
Kita boleh membaca metadata PDF menggunakan metadata ahli pustaka PyMuPDF yang mengandungi kandungan metadata lengkap dokumen tersebut. Coretan kod di bawah menunjukkan cara untuk mendapatkan metadata PDF daripada ahli metadata:
Tangkapan skrin di bawah menunjukkan metadata yang diambil daripada PDF menggunakan PyMuPDF:
Edit Metadata PDF
Kami boleh mengedit metadata PDF menggunakan pustaka PyMuPDF dengan menghantar kamus yang mengandungi medan yang ingin kami ubah bersama-sama nilai baharunya kepada kaedah set_metadata seperti yang ditunjukkan dalam coretan kod di bawah:
Baca Metadata XML PDF
Kami boleh mendapatkan semula metadata XML PDF menggunakan perpustakaan PyMuPDF. Kami menggunakan kaedah get_xml_metadata yang mengembalikan keseluruhan metadata XML seperti yang ditunjukkan dalam coretan kod di bawah:
Tangkapan skrin di bawah menunjukkan metadata XML yang diambil daripada PDF menggunakan PyMuPDF:
Tukar Metadata XML PDF
Kami boleh menetapkan atau menukar metadata XML PDF menggunakan kaedah set_xml_metadata pustaka PyMuPDF. Ia tidak semudah menggantikan metadata peringkat dokumen kerana set_xml_metadata akan menerima sebarang rentetan dan menggantikan metadata XML lengkap dengan rentetan yang dihantar kepadanya.
Untuk mengelakkan pemadaman yang tidak disengajakan bagi sebarang maklumat metadata, kami mula-mula mengambil metadata XML lengkap sebagai rentetan menggunakan get_xml_metadata dan kemudian menggunakan kaedah ganti rentetan untuk menggantikan rentetan yang diingini akhirnya, kami menghantar XML lengkap dengan medan yang diubah kepada kaedah set_xml_metadata yang mengubah keseluruhan metadata XML PDF. Semak coretan kod di bawah untuk butiran:
Kesimpulan
Ringkasnya, PyMuPDF ialah alat yang hebat untuk tugasan yang berkaitan dengan manipulasi metadata. Kami boleh mendapatkan semula dan menukar maklumat metadata PDF dengan mudah. Walau bagaimanapun, kelemahan yang ketara terletak pada kaedah set_xml_metadata. Kaedah ini menerima sebarang rentetan yang dihantar kepadanya dan menimpa XML sebelumnya dengannya yang mungkin menyebabkan kehilangan maklumat yang tidak disengajakan untuk mengelakkan isu ini pembangun dikehendaki melaksanakan logik mereka untuk memastikan pengubahsuaian yang betul dalam metadata XML.