gpt4 book ai didi

pdf - iTextSharp 生成的 PDF 现在会在 Adob​​e Reader X 中出现“保存”对话框

转载 作者:行者123 更新时间:2023-12-02 18:05:55 25 4
gpt4 key购买 nike

我使用 iTextSharp 生成 PDF 文档已有一年多了。不幸的是,随着 Adob​​e Reader X 的发布,我的 PDF 现在会出现“您要保存吗?”关闭 PDF 文档时出现的对话框。对于不是使用 iTextSharp 生成的 PDF,不会发生这种情况。对于整天打开和关闭 PDF 文档的用户来说,这真的很烦人。我可以设置 iTextSharp 中的任何属性来防止这种情况发生吗?

如果有帮助,我正在使用 PdfReader 从现有 PDF 文档中读取数据(此原始文档不会导致出现“保存”对话框)。然后,我使用 PdfWriter 创建一个新文档,并使用 AddTemplate 将原始文档的一部分复制到新文档中。

最佳答案

问题出在这一行:

Response.OutputStream.Write(MS.GetBuffer(), 0, MS.GetBuffer().Length)

GetBuffer 方法返回整个内部缓冲区,该缓冲区大于实际内容。坏的 PDF 在末尾有大约 10kb 的垃圾内容(零字节),好的 PDF 只有几个垃圾字节。使用内存流的ToArray()方法获取PDF文件即可解决问题。您还将获得更小的文件。

byte[] pdf = MS.ToArray();
Response.OutputStream.Write(pdf, 0, pdf.Length);

同时设置“Content-Length”为 pdf 数组的长度。

关于pdf - iTextSharp 生成的 PDF 现在会在 Adob​​e Reader X 中出现“保存”对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5109384/

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