Biblioteca Python de código abierto para procesar archivos PDF
La API gratuita de Python permite linealizar archivos PDF y acceder a archivos PDF encriptados. Admite la creación de PDF desde cero, la copia de páginas de un PDF a otro, la división o combinación de PDF y mucho más.
PikePDF es una biblioteca PDF de Python muy simple que permite a los desarrolladores de software trabajar con archivos PDF dentro de las aplicaciones de Python. Se basa en QPDF, una poderosa biblioteca de manipulación y reparación de PDF. PikePDF es una biblioteca de transformación de contenido PDF y proporciona acceso de bajo nivel a archivos PDF. Esto significa que los usuarios necesitan conocer los aspectos internos de PDF y estar familiarizados con las especificaciones de PDF. La biblioteca es de código abierto y está disponible bajo la licencia MIT para uso público. La biblioteca es de código abierto y está disponible bajo la licencia MPL-2.0.
PikePDF brinda soporte para linealizar archivos PDF y acceso a archivos PDF encriptados. Ha incluido un conjunto muy potente de funciones relacionadas con la gestión de PDF, como la creación de PDF desde cero, la copia de páginas de un PDF a otro, la división o combinación de PDF, la extracción de imágenes o texto de PDF, la sustitución de contenido en PDF, la reparación de PDF admite configuraciones, administra metadatos PDF, trabaja con edición de metadatos PDF XMP protegidos por contraseña, la transformación de PDF existentes y mucho más.
.
Primeros pasos con PikePDF
PikePDF requiere Python 3.6 y superior. Puede instalar PikePDF usando pip. Utilice el siguiente comando para instalarlo.
Instalar PikePDF a través de pip
pip install pikepdf
Copie páginas de un PDF a otro a través de Python
La biblioteca PikePDF de código abierto proporciona la capacidad que permite a los desarrolladores de software copagar una página de un PDF a otro con solo un par de líneas de código Python. La copia de páginas entre objetos PDF creará una copia superficial de la página de origen dentro del archivo PDF de destino y, por lo tanto, la modificación de las páginas no afectará a los documentos PDF originales. También es posible reemplazar páginas específicas con contenido personalizado. También es posible copiar páginas dentro de un PDF en particular.
Abrir y manipular documentos PDF a través de Python
# PDF Documents Manipulation
from pikepdf import Pdf
new_pdf = Pdf.new()
with Pdf.open('sample.pdf') as pdf:
pdf.save('output.pdf')
# Copying pages from other PDFs
pdf = Pdf.open('../tests/resources/fourpages.pdf')
appendix = Pdf.open('../tests/resources/sandwich.pdf')
pdf.pages.extend(appendix.pages)
División y fusión de PDF a través de Python
La biblioteca PDF PikePDF brinda a los desarrolladores de software el poder de acceder a archivos PDF existentes y dividirlos en múltiples archivos PDF con facilidad. Al dividir PDF, todo lo que necesitamos es que los nuevos PDF contengan las páginas de destino. La biblioteca también se asegura de transferir los datos asociados con cada página, de modo que cada página sea independiente. La biblioteca también incluía soporte para fusionar o concatenar múltiples documentos PDF en uno solo. También es posible invertir el orden de las páginas PDF con solo un par de líneas de código.
Dividir y combinar documentos PDF a través de Python
# PDF Splitting
pdf = Pdf.open('../tests/resources/fourpages.pdf')
for n, page in enumerate(pdf.pages):
dst = Pdf.new()
dst.pages.append(page)
dst.save(f'{n:02d}.pdf')
# Combine Multiple PDF pages into a single One
from glob import glob
pdf = Pdf.new()
for file in glob('*.pdf'):
src = Pdf.open(file)
pdf.pages.extend(src.pages)
pdf.save('merged.pdf')
Administre imágenes dentro de un documento PDF a través de Python
La biblioteca PDF PikePDF facilita a los desarrolladores de software el manejo de imágenes dentro de un archivo PDF mediante comandos de Python. La biblioteca ha incluido varias funciones importantes relacionadas con el manejo de imágenes, como copiar imágenes dentro de una página PDF, abrir y ver PDF, cambiar el tamaño de las imágenes, manipular imágenes en un PDF, extraer imágenes de un PDF, reemplazar imágenes, eliminar una imagen de un PDF y muchas más. .
Extraiga la imagen y reemplácela en PDF a través de Python
# Extract Image & Replace PDF Images
import zlib
rawimage = pdfimage.obj
pillowimage = pdfimage.as_pil_image()
greyscale = pillowimage.convert('L')
greyscale = greyscale.resize((32, 32))
rawimage.write(zlib.compress(greyscale.tobytes()), filter=Name("/FlateDecode"))
rawimage.ColorSpace = Name("/DeviceGray")
rawimage.Width, rawimage.Height = 32, 32
Manejo de metadatos PDF a través de Python
Los metadatos de PDF incluyen información muy útil sobre un documento PDF, como el nombre del autor, la fecha de creación y modificación, palabras clave, información de derechos de autor, etc. La biblioteca PDF PikePDF ha incluido una funcionalidad completa para acceder y leer metadatos, extraer metadatos y eliminar entradas de metadatos de documentos PDF. El siguiente ejemplo de código muestra cómo extraer metadatos de documentos PDF.
Cómo extraer metadatos PDF a través de Python
# Extract PDF Metadata
import pikepdf
import sys
# get the target pdf file from the command-line arguments
pdf_filename = sys.argv[1]
# read the pdf file
pdf = pikepdf.Pdf.open(pdf_filename)
docinfo = pdf.docinfo
for key, value in docinfo.items():
print(key, ":", value)