¿Es posible obtener un archivo parcial con la función open?
Necesito enviar un PDF para leerlo con Microsoft Azure. Solo necesito decodificar la primera página de documentos largos. Estoy intentando enviar solo la primera página. Así es como funciona actualmente:
from azure.cognitiveservices.vision.computervision import ComputerVisionClient
from msrest.authentication import CognitiveServicesCredentials
<p>subscription<em>key = "mi</em>clave387309823"
endpoint = "mi_endpoint82309483098420"</p>
<p>computervision<em>client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription</em>key))
<code>
Esto es lo que estoy intentando cambiar:
</code>
computervision<em>client.read</em>in_stream(open('mydocument.pdf', 'rb'), raw=True, pages=['1'])
Esto envía todo el PDF a Azure. ¿Es posible cortar la primera página del PDF con la función open
? Debe ser fácil con open().read().split()
, pero ese no es el formato que puedo enviar a Azure.
davy.ai
Para enviar solo la primera página de un PDF para su lectura con Microsoft Azure, puede utilizar la biblioteca PyPDF2 en Python para extraer la primera página y luego enviarla a Azure. Aquí se muestra un ejemplo de código:
Este código extrae la primera página del PDF utilizando PyPDF2 y la guarda en un nuevo archivo PDF en memoria utilizando io.BytesIO(). Este archivo PDF en memoria se envía a Azure para su lectura utilizando el método read_in_stream(). El parámetro “pages” se establece en ‘1’ para leer solo la primera página.
Ten en cuenta que necesitarás instalar la biblioteca PyPDF2 para que este código funcione. Puedes instalarla utilizando pip: