标签:cText-iTextSharp-无法访问关闭的流

几天来,我一直在努力解决这个问题,无法在任何地方找到解决方案,我唯一能想到的是iTextSharp无法正常工作。...

首先,我像这样创建一个MemoryStream:

MemoryStream outFile = new MemoryStream();

我在这里有此信息流:

var streamFile = await graphClient.Me.Drive.Items["item-id"].Content.Request().Getasync();

这是microsoft OneDrive的PDF文件

然后我将这个Stream像这样分配给iTextSharp的PdfReader:

PdfReader pdfReader = new PdfReader(streamFile);

然后我使用PDFStamper对PDF文件进行编辑,如下所示:

PdfStamper pdfStamper = new PdfStamper(pdfReader,outFile);

然后我按如下方式进行编辑:

AcroFields fields = pdfStamper.AcroFields;
fields.setfield("Full_Names","JIMMMMMMAYYYYY");

然后我将文件重新上传到OneDrive(也希望有Stream),如下所示:

等待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<DriveItem>(outFile);

当我刚从OneDrive中获取文件并像这样上载时:

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<DriveItem>(streamFile);

有效!我能够获取文件并重新上传它,因此PDF文件完全没有问题,iTextSharp坏了,我尝试了多种操作,但根本没有任何效果。 iTextSharp在做什么错?这是我的完整代码:

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<DriveItem>(outFile);
}

到底怎么了?

www274953474 回答:标签:cText-iTextSharp-无法访问关闭的流

压模在被丢弃时会关闭内部流。在创建压模的行下方添加以下行:

private lazy val userConfig = ConfigFactory.parseResources("application.conf")
val config = userConfig.resolve()
本文链接:https://www.f2er.com/3099787.html

大家都在问