gpt4 book ai didi

c# - 使用 iTextSharp 将 PDF 保存到 SQL Server 2008 Blob,并读取该 Blob 以保存到磁盘

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:29 25 4
gpt4 key购买 nike

我目前正在尝试使用 iTextSharp 进行一些 PDF 字段映射,但现在具有挑战性的部分只是将修改后的文件保存在 varbinary[max] 列中。然后我稍后需要读取该 blob 并将其转换为我保存到文件的 pdf。

我一直在查看示例代码,但我找不到我要找的东西,而且似乎无法拼凑 [从文件读取到 iTextSharp 对象] -> [做我的事情] -> [转换为 varbinary(max)] 管道,也没有将该 blob 转换回可保存的文件。

如果有人有代码片段示例,那将非常有帮助。谢谢!

最佳答案

当我第一次开始处理 pdf 时,我并没有立即清楚需要多次处理 pdf,所以也许这对你有一些帮助。

在下面的方法中,我们创建了一个 pdf,将其渲染为 byte[],加载它进行后期处理,再次渲染 pdf 并返回结果。

你的问题的其余部分涉及将 byte[] 放入和取出 varbinary[max],保存 byte[] 归档并读回,您可以很容易地用谷歌搜索。

public byte[] PdfGeneratorAndPostProcessor()
{
byte[] newPdf;

using (var pdf = new MemoryStream())
using (var doc = new Document(iTextSharp.text.PageSize.A4))
using (PdfWriter.GetInstance(doc, pdf))
{
doc.Open();

// do stuff to the newly created doc...

doc.Close();
newPdf = pdf.GetBuffer();
}

byte[] postProcessedPdf;
var reader = new PdfReader(newPdf);

using (var pdf = new MemoryStream())
using (var stamper = new PdfStamper(reader, pdf))
{
var pageCount = reader.NumberOfPages;
for (var i = 1; i <= pageCount; i++)
{
// do something on each page of the existing pdf
}

stamper.Close();
postProcessedPdf = pdf.GetBuffer();
}

reader.Close();
return postProcessedPdf;
}

关于c# - 使用 iTextSharp 将 PDF 保存到 SQL Server 2008 Blob,并读取该 Blob 以保存到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com