iTextSharp を使用して (これは iTextSharp に関連しているわけではありません)、次のようなコードを使用して PDF バイトを生成します。
Function GetFileBytes() as Byte()
Dim result() As Byte
Using ms As New MemoryStream
Dim reader As New PdfReader(pdfForm)
Dim writer As New PdfStamper(reader, ms)
Dim fields As AcroFields = writer.AcroFields
fields.SetField("Customer Name", custInfo.FirstName + " " + custInfo.LastName)
result = ms.GetBuffer
End Using
End Function
代わりにこれを非同期タスクにして、代わりに Task(Of Byte()) を返したいのですが、メモリストリームを非同期モードで書き込む方法と、Task(Of Byte()) を返す方法を理解するのに問題があります。 ) 過程の中で。ヒント、提案はありますか?ありがとう!
EDIT 1 タスクを使用してこのコードを使用する必要性を明確にしたかったのは、これまでのところ、「なぜこのようにするのか」と「代わりにこれを行うだけではなく、丁寧に「ありがとう、でも私はこのようにしたい」と言ってください:)
これが私のシナリオです。いくつかのページでデータを収集し、レビュー画面を表示し、ユーザーがそのデータを含む PDF を表示できるようにする Web サイトを想像してみてください。レビュー画面では、1 MB の PDF ファイルを生成し、それを BLOB ストレージにアップロードして、ユーザーがダウンロードすることを選択したときに利用できるようにする必要があります。
ユーザーが「PDF の表示」ボタンを選択したときではなく、レビュー画面を確認しているときに PDF を生成してアップロードしたいと考えています。そのコードは私の例を使用して実行されます。そのため、Byte() 型の Task を作成する方法に興味があります。どんな助けでも大歓迎です、ありがとう!