Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mengekstrak Imej Resolusi Asli daripada PDF Menggunakan Python

Cara Mengekstrak Imej Resolusi Asli daripada PDF Menggunakan Python

Barbara Streisand
Barbara Streisandasal
2024-10-22 07:50:03947semak imbas

How to Extract Native Resolution Images from PDFs Using Python

Mengekstrak Imej Resolusi Asli daripada PDF dalam Python

Untuk pengekstrakan imej yang tepat daripada PDF, adalah penting untuk mengekalkan resolusi dan format asal bagi imej. PyMuPDF menawarkan penyelesaian yang mudah untuk tugas ini.

Untuk bermula, import modul PyMuPDF dan buka fail PDF sasaran:

<code class="python">import fitz
doc = fitz.open("file.pdf")</code>

Lelar melalui halaman dan ekstrak imej menggunakan getPageImageList:

<code class="python">for i in range(len(doc)):
    for img in doc.getPageImageList(i):
        xref = img[0]
        pix = fitz.Pixmap(doc, xref)</code>

Bergantung pada jenis imej, tulis imej sebagai PNG atau tukar imej CMYK kepada RGB sebelum menulis sebagai PNG:

<code class="python">if pix.n < 5:
            pix.writePNG("p%s-%s.png" % (i, xref))
else:               
            pix1 = fitz.Pixmap(fitz.csRGB, pix)
            pix1.writePNG("p%s-%s.png" % (i, xref))</code>

Berikut ialah sumber tambahan untuk diterokai:

  • [Dokumentasi Pengekstrakan Imej PyMuPDF](https://pymupdf.readthedocs.io/en/latest/image-extraction.html)
  • [Pengeluaran Imej FitZ yang Diperbaiki untuk FitZ 1.19.6]( https://stackoverflow.com/a/74345380)

Dengan penyelesaian Python ini, anda boleh mengekstrak imej daripada PDF dengan cekap sambil mengekalkan resolusi dan format aslinya, memastikan pembiakan dan analisis yang tepat.

Atas ialah kandungan terperinci Cara Mengekstrak Imej Resolusi Asli daripada PDF Menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn