Сначала я создаю MemoryStream следующим образом:
Код: Выделить всё
MemoryStream outFile = new MemoryStream();
Код: Выделить всё
var streamFile = await graphClient.Me.Drive.Items["item-id"].Content.Request().GetAsync();
Затем я беру этот поток и назначаю его PdfReader iTextSharp следующим образом:
Код: Выделить всё
PdfReader pdfReader = new PdfReader(streamFile);
Код: Выделить всё
PdfStamper pdfStamper = new PdfStamper(pdfReader, outFile);
Код: Выделить всё
AcroFields fields = pdfStamper.AcroFields;
fields.SetField("Full_Names", "JIMMMMMMAYYYYY");
Код: Выделить всё
await graphClient.Me.Drive.Items["item-id"].ItemWithPath("NewDocument-2.pdf").Content.Request().PutAsync(outFile);
Невозможно получить доступ к закрытому потоку.
в этой строке:
Код: Выделить всё
await graphClient.Me.Drive.Items["item-id"].ItemWithPath("NewDocument-2.pdf").Content.Request().PutAsync(outFile);
Код: Выделить всё
var streamFile = await graphClient.Me.Drive.Items["item-id"].Content.Request().GetAsync();
await graphClient.Me.Drive.Items["item-id"].ItemWithPath("NewDocument-2.pdf").Content.Request().PutAsync(streamFile);
Код: Выделить всё
using (MemoryStream outFile = new MemoryStream())
{
var streamFile = await graphClient.Me.Drive.Items["item-id"].Content.Request().GetAsync();
using (PdfReader pdfReader = new PdfReader(streamFile))
{
using (PdfStamper pdfStamper = new PdfStamper(pdfReader, outFile))
{
AcroFields fields = pdfStamper.AcroFields;
fields.SetField("Full_Names", "JIMMMMMMAYYYYY");
}
}
await graphClient.Me.Drive.Items["item-id"].ItemWithPath("NewDocument-2.pdf").Content.Request().PutAsync(outFile);
}
Подробнее здесь: https://stackoverflow.com/questions/588 ... sed-stream
Мобильная версия