Extraer Tabla de PDF en Python SDK
Extraer una Tabla de un Documento PDF usando Cloud usando Cloud Python SDK.
Get StartedCómo extraer Tablas de PDF a través de Cloud Python SDK
Para extraer tablas de PDF, usaremos Aspose.PDF Cloud Python SDK. Este Cloud SDK ayuda a los programadores de Python a desarrollar aplicaciones de creador, anotador, editor y convertidor de PDF basadas en la nube usando el lenguaje de programación Python a través de Aspose.PDF REST API. Simplemente cree una cuenta en Aspose for Cloud y obtenga la información de su aplicación. Una vez que tenga el App SID y la clave, estará listo para usar el Aspose.PDF Cloud Python SDK. Si el paquete de Python está alojado en Github, puede instalarlo directamente desde Github:
Instalación desde Github
pip install git+https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-python.git
Comando de la Consola del Administrador de Paquetes
pip install asposepdfcloud
Pasos para obtener Tablas de PDF a través de Python SDK
Los desarrolladores de Aspose.PDF Cloud pueden cargar y extraer fácilmente tablas de PDF en solo unas pocas líneas de código.
- Instale Python SDK
- Cargue un documento PDF en el servidor de Aspose Cloud
- Descargue el documento PDF procesado desde el servidor de Aspose Cloud
- Obtenga todas las tablas
Extraer Tablas de PDF usando Python
import shutil
import json
import logging
from pathlib import Path
from asposepdfcloud import ApiClient, PdfApi, Table, Row, Cell, FontStyles, GraphInfo, TextRect, TextState, Color, BorderInfo
# Configure logging
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
class Config:
"""Configuration parameters."""
CREDENTIALS_FILE = Path(r"C:\\Projects\\ASPOSE\\Pdf.Cloud\\Credentials\\credentials.json")
LOCAL_FOLDER = Path(r"C:\Samples")
PDF_DOCUMENT_NAME = "sample.pdf"
LOCAL_RESULT_DOCUMENT_NAME = "output_sample.pdf"
PAGE_NUMBER = 2
TABLE_ID = "GE5TCOZSGAYCYNRQGUWDINZVFQ3DGMA"
class PdfTables:
""" Class for managing PDF tables using Aspose PDF Cloud API. """
def __init__(self, credentials_file: Path = Config.CREDENTIALS_FILE):
self.pdf_api = None
self._init_api(credentials_file)
def _init_api(self, credentials_file: Path):
""" Initialize the API client. """
try:
with credentials_file.open("r", encoding="utf-8") as file:
credentials = json.load(file)
api_key, app_id = credentials.get("key"), credentials.get("id")
if not api_key or not app_id:
raise ValueError("init_api(): Error: Missing API keys in the credentials file.")
self.pdf_api = PdfApi(ApiClient(api_key, app_id))
except (FileNotFoundError, json.JSONDecodeError, ValueError) as e:
logging.error(f"init_api(): Failed to load credentials: {e}")
def upload_document(self):
""" Upload a PDF document to the Aspose Cloud server. """
if self.pdf_api:
file_path = Config.LOCAL_FOLDER / Config.PDF_DOCUMENT_NAME
try:
self.pdf_api.upload_file(Config.PDF_DOCUMENT_NAME, str(file_path))
logging.info(f"upload_document(): File {Config.PDF_DOCUMENT_NAME} uploaded successfully.")
except Exception as e:
logging.error(f"upload_document(): Failed to upload file: {e}")
def _show_tables_info(self, tables, prefix):
if tables and len(tables) > 0 :
for table in tables:
logging.info(f"{prefix} => id: '{table.id}', page: '{table.page_num}', rows: '{len(table.row_list)}', columns: '{len(table.row_list[0].cell_list)}'")
else:
logging.error(f"showBoormarks() error: array of tables is empty!")
def get_all_tables(self):
if self.pdf_api:
resultTabs = self.pdf_api.get_document_tables(Config.PDF_DOCUMENT_NAME)
if resultTabs.code == 200 and resultTabs.tables:
if not resultTabs.tables.list or len(resultTabs.tables.list) == 0:
logging.error("get_all_tables(): Unexpected error - tables is null or empty!!!")
self._show_tables_info(resultTabs.tables.list, "All tables")
return resultTabs.tables.list
else:
logging.error("get_all_tables(): Unexpected error - can't get links!!!")
def get_table_by_id (self):
if self.pdf_api:
resultTabs =self.pdf_api.get_table(Config.PDF_DOCUMENT_NAME, Config.TABLE_ID)
if resultTabs.code == 200 and resultTabs.table:
self._show_tables_info( [ resultTabs.table ], "Table by Id")
return resultTabs.table
else:
logging.error("get_table_by_id(): Unexpected error - can't get links!!!")
if __name__ == "__main__":
pdf_tables = PdfTables()
pdf_tables.upload_document()
pdf_tables.get_all_tables()
pdf_tables.get_table_by_id()
Trabajar con Tablas en PDF
Las tablas proporcionan un formato estructurado para presentar datos de manera sistemática, facilitando a los lectores la comprensión y el análisis de la información. También mejoran el atractivo visual de un documento, añadiendo profesionalismo y organización. Al tratar con datos numéricos o comparativos, las tablas mejoran la claridad al agrupar información relacionada en un formato fácil de leer. Además, las tablas pueden incorporar contenido en tiempo real o generado dinámicamente, como datos de bases de datos o paneles de análisis. Extraer la Tabla de documentos PDF con Aspose.PDF Cloud Python SDK.
Con nuestra biblioteca de Python puedes:
- Combinar documentos PDF.
- Dividir archivos PDF.
- Convertir PDF a otros formatos, y viceversa.
- Manipular anotaciones.
- Trabajar con imágenes en PDF, etc.
- Puedes probar nuestra App gratuita para probar la funcionalidad en línea.