我有一个PDF文件,以字节数组形式保存在数据库中。用户可以从网站打开此PDF并进行更新。目前,整个新的pdf都保存在现有的pdf中。我正在寻找解决方案,
仅保存更改字节,并且当用户检索新文档时
我想从原始版本重新创建pdf,然后应用更改。我尝试在Internet上搜索有关如何实现此目标的解决方案/想法,但我没有任何想法。有人可以抛出一种使用C#实现此目标的方法吗 。该解决方案将帮助我跟踪一段时间内发生的变化。
答案 0 :(得分:0)
是的,PDF标准专门支持增量保存。 PDF文件可以包含任意数量的增量保存,并且可以专门用于撤消/重做和版本控制。例如,增量保存是指多个人可以对PDF进行加密签名的方式。
因此,您可以保留单个原始文件,然后通过简单地将增量保存字节附加到原始数据来应用修改。
使用PDFTron PDFNet SDK,您可以使用以下方法获取增量保存数据。
byte[] pdfdata = pdfdoc.Save(SDFDoc.SaveOptions.e_incremental);
pdfdata将包含整个PDF,但是原始字节将保持不变,并且可以通过获取原始PDF的文件大小来丢弃。这样您就可以存储其他字节。
然后,您可以加载原始PDF,附加存储的增量保存数据,然后加载PDF。
请注意,如果您的用户编辑仅用于注释和表单字段,那么还有一个更简单的解决方案。请参阅我对您的原始问题的评论。