Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Anda Boleh Mengekstrak Imej daripada PDF Menggunakan Python Sambil Mengekalkan Resolusi Asalnya?
Mengekstrak Imej daripada PDF tanpa Pensampelan Semula Menggunakan Python
Untuk mengekstrak semua imej daripada dokumen PDF dengan cekap sambil mengekalkan resolusi dan format aslinya tanpa pensampelan semula , anda boleh menggunakan modul PyMuPDF. Modul ini menyediakan penyelesaian yang berkesan untuk pengekstrakan imej, mengeluarkan imej sebagai fail PNG.
Menggunakan PyMuPDF:
<code class="python">import fitz # Open the PDF document doc = fitz.open("file.pdf") # Iterate through the pages for i in range(len(doc)): # Extract images from the current page for img in doc.getPageImageList(i): # Retrieve the image's XREF and create a Pixmap xref = img[0] pix = fitz.Pixmap(doc, xref) # Check if the image is grayscale or RGB if pix.n < 5: # Save the image in PNG format pix.writePNG("p%s-%s.png" % (i, xref)) # If the image is CMYK, convert it to RGB and save else: pix1 = fitz.Pixmap(fitz.csRGB, pix) pix1.writePNG("p%s-%s.png" % (i, xref)) pix1 = None # Release the Pixmaps pix = None</code>
Penambahan:
Untuk versi skrip yang dikemas kini yang menyokong fitz 1.19.6:
<code class="python">import os import fitz from tqdm import tqdm # Specify the work directory workdir = "your_folder" # Iterate through the PDFs in the directory for each_path in os.listdir(workdir): if ".pdf" in each_path: # Open the PDF document doc = fitz.Document(os.path.join(workdir, each_path)) for i in tqdm(range(len(doc)), desc="pages"): for img in tqdm(doc.get_page_images(i), desc="page_images"): # Extract the image and save as PNG xref = img[0] image = doc.extract_image(xref) pix = fitz.Pixmap(doc, xref) pix.save(os.path.join(workdir, "%s_p%s-%s.png" % (each_path[:-4], i, xref)))</code>
Skrip dipertingkat ini menyediakan bar kemajuan untuk keterlihatan tambahan dan menyimpan imej yang diekstrak dengan konvensyen penamaan fail yang konsisten.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengekstrak Imej daripada PDF Menggunakan Python Sambil Mengekalkan Resolusi Asalnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!