async def process_pdf(
        self, file_path: str | None = None, file_content: bytes | None = None
    ) -> OCRResponse:
        """
        Upload and process a PDF file in one step.

        Args:
            file_path: Path to the PDF file
            file_content: Binary content of the PDF file

        Returns:
            OCR response object
        """
        # Upload the file
        if file_path:
            file_name = os.path.basename(file_path)
            with open(file_path, "rb") as f:
                file_content = f.read()
        elif not file_content:
            raise ValueError(
                "Either file_path or file_content must be provided"
            )

        file_name = file_name if file_path else "document.pdf"

        uploaded_file = await self.upload_file(
            file_name=file_name, file_content=file_content
        )

        # Process the uploaded file
        return await self.process_file(uploaded_file.id)

        Upload and process a PDF file in one step.

        Args:
            file_path: Path to the PDF file
            file_content: Binary content of the PDF file

        Returns:
            OCR response object
        
py/core/providers/ocr/mistral.py