Consejo 23 de automatización de Python: dividir archivos PDF en páginas separadas (PyMuPDF)

De hecho, puedes usar Adobe para editar archivos PDF. Tiene funciones súper completas, pero esto requiere una tarifa... Te llevará medio día encontrar los recursos para obtener una versión descifrada gratuita, así que usa Python para dividir PDF. archivos, que se pueden procesar en lotes.

En cuanto a por qué no se usa WPS... no preguntes, simplemente no quiero registrarme como miembro.


código de secuencia de comandos

Primero instale la biblioteca PyMuPDF,

pip install PyMuPDF

Código: 

import fitz  # PyMuPDF

def split_pdf(input_pdf, output_folder):
    pdf_document = fitz.open(input_pdf)
    
    for page_num in range(pdf_document.page_count):
        page = pdf_document[page_num]
        
        # 构建输出文件名,以页数命名
        output_pdf = f"{output_folder}/Page_{page_num + 1}.pdf"
        
        # 创建一个新的Document对象,包含当前页面
        new_pdf = fitz.open()
        new_pdf.insert_pdf(pdf_document, from_page=page_num, to_page=page_num)
        
        # 保存单独的PDF文件
        new_pdf.save(output_pdf)
        new_pdf.close()
    
    pdf_document.close()

if __name__ == "__main__":
    input_pdf = "157-GGCG[2021]157成套门--武汉******有限公司356996.80.pdf"  
    output_folder = "C:\\Users\\cx\\Desktop\\pdf"  
    split_pdf(input_pdf, output_folder)

Simplemente cambie la ruta de entrada y la ruta de salida, y todo el PDF se dividirá en archivos separados página por página.

Si solo necesita una página determinada, simplemente sáquela según el nombre del archivo.

Si necesita ciertos aspectos, simplemente cámbielo de acuerdo con la sintaxis de PyMuPDF.


Otros usos:

PyMuPDF (también conocida como fitz) es una poderosa biblioteca de Python para procesar archivos PDF. Además de dividir archivos PDF, también proporciona muchos otros métodos y funciones de uso común. A continuación se muestran algunos métodos comunes de PyMuPDF y ejemplos de uso:

  1. Extraer contenido de texto :

    Cómo usarlo get_page_textpuede extraer el contenido de texto de las páginas PDF. Aquí hay un ejemplo:

    import fitz
    
    def extract_text_from_pdf(pdf_file):
        pdf_document = fitz.open(pdf_file)
        text = ""
        for page_num in range(pdf_document.page_count):
            page = pdf_document[page_num]
            text += page.get_text()
        pdf_document.close()
        return text
    
    pdf_text = extract_text_from_pdf("your_pdf.pdf")
    print(pdf_text)
    

  2. Obtener información de la página :

    Puede utilizar get_page_infométodos para obtener información de la página PDF, como el tamaño y la rotación. Aquí hay un ejemplo:

    import fitz
    
    def get_page_info(pdf_file):
        pdf_document = fitz.open(pdf_file)
        for page_num in range(pdf_document.page_count):
            page = pdf_document[page_num]
            page_info = page.get_page_info()
            print(f"Page {page_num + 1}: Size={page_info['size']}, Rotation={page_info['rotate']}")
    
    get_page_info("your_pdf.pdf")
    

  3. Girar página :

    Puede utilizar set_rotationmétodos para rotar páginas PDF. Aquí hay un ejemplo:

    import fitz
    
    def rotate_page(pdf_file, page_num, degrees):
        pdf_document = fitz.open(pdf_file)
        page = pdf_document[page_num - 1]
        page.set_rotation(degrees)
        pdf_document.save("rotated_pdf.pdf")
        pdf_document.close()
    
    rotate_page("your_pdf.pdf", 1, 90)  # 将第一页旋转90度
    

  4. Insertar página :

    Cómo usarlo insert_pdf: puede insertar páginas de un archivo PDF en otro archivo PDF. Aquí hay un ejemplo:

    import fitz
    
    def insert_page(source_pdf, target_pdf, page_num):
        source_document = fitz.open(source_pdf)
        target_document = fitz.open(target_pdf)
        target_document.insert_pdf(source_document, from_page=page_num - 1, to_page=page_num - 1)
        target_document.save("merged_pdf.pdf")
        source_document.close()
        target_document.close()
    
    insert_page("insert.pdf", "target.pdf", 2)  # 将insert.pdf的第二页插入到target.pdf中
    

Estos ejemplos demuestran algunos usos comunes de PyMuPDF. PyMuPDF también proporciona muchas otras funciones, como fusionar archivos PDF, agregar comentarios, extraer imágenes y más. Puede consultar la documentación de PyMuPDF para obtener más detalles y su uso si es necesario.

No pretendemos, todo esto está escrito por chatgpt... pero es correcto y útil.

Supongo que te gusta

Origin blog.csdn.net/weixin_46277779/article/details/133172063
Recomendado
Clasificación