簡體   English   中英

通過 HttpResponse (PyPDF2) 在 Azure 函數中返回 PDF

[英]Return PDF in Azure Function via HttpResponse (PyPDF2)

我創建了一個 Azure 函數,它將用戶數據寫入 pdf 的特定字段,並將該 pdf 作為對客戶端的響應返回。 但是,我總是收到 500 錯誤代碼,即使直到最后一步的所有步驟似乎都可以正常工作,並且它也可以在本地運行而沒有問題。

這是我的init.py

import logging

import azure.functions as func
from PyPDF2 import PdfFileReader, PdfFileWriter


def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('----- Python HTTP trigger function processed a request. -----')

    BLOB_NAME = 'sheet.pdf'

    reader = PdfFileReader(BLOB_NAME)
    writer = PdfFileWriter()

    page = reader.pages[0]

    writer.addPage(page)

    sheetData = {}
    sheetData["Full Name"] = "Name"

    writer.updatePageFormFieldValues(writer.getPage(0), sheetData)

    return func.HttpResponse(writer, mimetype="application/pdf")

我可以返回str(writer.getPage(0))之類的東西而不是writer ,所以我假設我的 requirements.txt 工作正常。 只有在返回沒有字符串類型主體的 HttpResponse 時才會失敗。 我認為添加正確的 mime 類型可以解決問題,但它返回相同的狀態代碼。 在這一點上我有點不知所措。

嘗試創建一個字節對象來返回:

import io

pdf_bytes = io.BytesIO()

writer.write(pdf_bytes)
pdf_bytes.seek(0)

return func.HttpResponse(bdf_bytes.read(), mimetype="application/pdf")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM