1. Productos
  2.   PDF
  3.   Python
  4.   PyMuPDF
 
  

Gender PDF Archivos, Extracto Texto Imágenes a través de la Biblioteca Python Libre

Free Python API permite editar y representar PDF Archivos; extraer texto imágenes, editar PDF páginas, fusion/split convertir PDFs con facilidad.

PyMuPDF es una fuente ligeramente abierta Python API que añade conjuntos Python y abstracción a PDF. El API es pequeño en tamaño pero muy rápido y proporciona varios formatos de documentos populares incluyendo PDF, XPS, OpenXPS, CB, PUB, y FB2 (eBooks) formatos y unos 10 formatos de imagen populares. El PyMuPD es muy fiable y es conocido por su capacidad de reproducción superior. Como la biblioteca es de peso muy ligero lo hace una gran elección para plataformas donde los recursos son generalmente limitados, como teléfonos inteligentes.

La API de PyMuPDF admite numerosas funciones básicas y avanzadas para la conversión y la representación de documentos PDF, como la conversión de PDF a PNG, el acceso y la visualización de metadatos, el trabajo con contornos, la representación de una página en una imagen rasterizada o vectorial (SVG), texto PDF Soporte de búsqueda, extracción de texto de la página PDF, extracción de imágenes del PDF, visualización de la imagen en GUI, modificación de la página PDF, creación de nuevas páginas PDF, eliminación de páginas PDF no deseadas, incrustación de datos, etc. PyMuPDF ha incluido soporte para numerosas plataformas, como Mac, Linux y Windows.

Previous Next

Comenzando con PyMuPDF

PyMuPDF se puede instalar usando pip, los siguientes comandos se instalarán desde una rueda Python si uno está disponible para su plataforma.

Instalar PyMuPDF vía pipa

 python -m pip install --upgrade pip
python -m pip install --upgrade pymupdf
 

Clone PyMuPDF vía git Repository

 git clone https://github.com/pymupdf/PyMuPDF.git 

También es posible instalarlo manualmente; descargue los archivos de la versión más reciente directamente desde el repositorio GitHub.

Buscando un Texto en PDF Archivos a través de Python

PDF ha sido uno de los formatos de archivos favoritos del Mundo para compartir documentos a través de Internet porque conserva todo el formato de texto y gráficos dentro de él. Pero no es fácil buscar texto dentro de estos archivos en comparación con otros documentos. La biblioteca PyMuPDF libre permite a los desarrolladores de software agregar capacidades de búsqueda de texto dentro de sus aplicaciones Python. Permite buscar en qué parte de la página existe una cierta cadena de texto.

Buscar en la página PDF Texto String Aparece a través de Python

areas = page.search_for("mupdf") 

Extraer PDF Textos e imágenes a través de Python API

La biblioteca YouPDF ha incluido varias características importantes para trabajar con PDF texto e imágenes. La biblioteca ha proporcionado diversas funciones para extraer texto y imágenes de PDF documentos. Por defecto, permite la extracción de texto plano con interrupciones de línea. Sin formateo, sin detalles de posición de texto, sin imágenes. Además, soporta generar una lista de bloques de texto, generando una lista de palabras, creando una versión visual completa de la página, incluyendo cualquier imagen, y muchos más.

Cómo extraer el texto de PDF vía Python API

from operator import itemgetter
from itertools import groupby
import fitz
doc = fitz.open( 'mydocument.pdf' )
pages = [ doc[ i ] for i in range( doc.pageCount ) ]
for page in pages:
  text_words = page.getTextWords()
  # The words should be ordered by y1 and x0
  sorted_words = SortedCollection( key = itemgetter( 3, 0 ) )
  for word in text_words:
    sorted_words.insert( word )
  # At this point you already have an ordered list. If you need to 
  # group the content by lines, use groupby with y1 as a key
  lines = groupby( sorted_words, key = itemgetter( 3 ) )

nete y salpica PDF Documentos en Python As

Combinar diferentes PDF archivos es una característica muy útil que le da a los usuarios la capacidad de tener PDF en lugar de tener una docena de PDFs separados. La biblioteca YouPDF de código abierto y gratuito ofrece a los programadores de software el poder de fusionar diferentes archivos o páginas de copia entre diferentes PDF documentos con facilidad. También da a los usuarios el poder de dividir PDF documentos grandes en archivos más pequeños con sólo un par de líneas de código Python. También es posible seleccionar algunas páginas específicas de un documento PDF y crear un nuevo documento.

Crea un nuevo documento de la primera ltima 10 páginas

doc2 = fitz.open()                 # new empty PDF
doc2.insert_pdf(doc1, to_page = 9)  # first 10 pages
doc2.insert_pdf(doc1, from_page = len(doc1) - 10) # last 10 pages
doc2.save("first-and-last-10.pdf")

Lea Exportar PDF Metadata a CSV vía Python

La biblioteca YouPDF ofrece una completa funcionalidad para acceder y leer metadatos de PDF archivos sin dependencias externas. Apoya varios tipos de claves de metadata como fecha de creación, autor, título, aplicación creadora, cualquier sujeto, método de cifrado, formato de archivo, etc. También es posible exportar metadatos a CSV formatos.

 

Exportar PDF Metadatos a CSV vía Python API

import csv
import fitz
import argparse
parser = argparse.ArgumentParser(description="Enter CSV delimiter [;], CSV filename and documment filename")
parser.add_argument('-d', help='CSV delimiter [;]', default = ';')
parser.add_argument('-x', help='delete XML info [n]', default = 'n')
parser.add_argument('-csv', help='CSV filename')
parser.add_argument('-pdf', help='PDF filename')
args = parser.parse_args()
delim = args.d               # requested CSV delimiter character
assert args.csv, "missing CSV filename"
assert args.pdf, "missing PDF filename"
print "delimiter", args.d
print "xml delete", args.x
print "csv file", args.csv
print "pdf file", args.pdf
print "----------------------------------------"
doc = fitz.open(args.pdf)
oldmeta = doc.metadata
print "old metadata:"
for k,v in oldmeta.items():
    print k, ":",v
with open(args.csv) as tocfile:
    tocreader = csv.reader(tocfile, delimiter = delim)
    for row in tocreader:
        assert len(row) == 2, "each row must contain 2 entries"
        oldmeta[row[0]] = row[1]
print "----------------------------------------"
print "\nnew metadata:"
for k,v in oldmeta.items():
    print k, ":",v
doc.set_metadata(oldmeta)
doc.saveIncr()
 Español