Extraer enlaces de PDF en Python SDK
Extraer un enlace a un documento PDF usando Cloud Python SDK.
Get StartedCómo extraer enlaces de PDF a través de Cloud Python SDK
Para obtener enlaces de PDF, usaremos Aspose.PDF Cloud Python SDK. Este Cloud SDK ayuda a los programadores de Python a desarrollar aplicaciones de creación, anotación, edición y conversión de PDFs basadas en la nube usando el lenguaje de programación Python a través de Aspose.PDF REST API. Simplemente crea una cuenta en Aspose para Cloud y obtén la información de tu aplicación. Una vez que tengas el App SID y la clave, estás listo para usar el Aspose.PDF Cloud Python SDK. Si el paquete de Python está alojado en Github, puedes 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 gestor de paquetes
pip install asposepdfcloud
Pasos para extraer enlaces de PDF a través de Python
Los desarrolladores de Aspose.PDF Cloud pueden cargar y obtener enlaces de PDF fácilmente con solo unas pocas líneas de código.
- Instalar Python SDK
- Subir un documento PDF al servidor de Aspose Cloud
- Descargar el documento PDF procesado desde el servidor de Aspose Cloud
- Obtener todas las anotaciones de hipervínculo para un documento PDF específico
- Obtener la anotación de hipervínculo usando el Id específico en el documento PDF
Extraer enlaces de PDF usando Python
import shutil
import json
import logging
from pathlib import Path
from asposepdfcloud import ApiClient, PdfApi
# 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
LINK_FIND_ID = "GI5UO32UN5KVESKBMN2GS33OHMZTEMJMGUYDQLBTGYYCYNJSGE"
class PdfLinks:
"""Class for managing PDF links 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("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"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"File {Config.PDF_DOCUMENT_NAME} uploaded successfully.")
except Exception as e:
logging.error(f"Failed to upload file: {e}")
def show_links_array(self, links, prefix):
for item in links:
logging.info(f"{prefix} Link ID: '{item.id}' - Link Action: '{item.action}'")
def get_all_links(self):
"""Get all hyperlink annotations for a specific PDF document."""
if self.pdf_api:
try:
response = self.pdf_api.get_page_link_annotations( Config.PDF_DOCUMENT_NAME, Config.PAGE_NUMBER)
if response.code == 200:
self.show_links_array(response.links.list, "All: ")
else:
logging.error(f"Failed to add link to the page. Response code: {response.code}")
except Exception as e:
logging.error(f"Error while adding link: {e}")
def get_link_by_id(self, link_id: str):
"""Get hyperlink annotation using the specific Id in PDF document."""
if self.pdf_api:
try:
result_link = self.pdf_api.get_link_annotation(Config.PDF_DOCUMENT_NAME, link_id)
if result_link.code == 200:
self.show_links_array([result_link.link], "Find: ")
except Exception as e:
logging.error(f"Error while adding link: {e}")
if __name__ == "__main__":
pdf_links = PdfLinks()
pdf_links.upload_document()
pdf_links.get_all_links()
pdf_links.get_link_by_id(Config.LINK_FIND_ID)
Trabajar con enlaces en PDF
Al extraer enlaces, se puede verificar sistemáticamente la validez y relevancia de cada URL, asegurando que todas las referencias estén actualizadas y sean funcionales. Para tareas como descargar documentos vinculados o realizar análisis por lotes, extraer URLs permite la automatización, ahorrando tiempo y reduciendo el esfuerzo manual. Obtén los enlaces 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 aplicación gratuita para probar la funcionalidad en línea.