我有一个可编辑的PDF,它是通过增量更新制作的,但我需要将PDF与不支持此功能的代码库一起使用。
如何“展平”增量更新并将其定为常规PDF?
答案 0 :(得分:2)
您可以使用Adobe Acrobat并使用“另存为”菜单选项保存文件。这将合并所有增量更新,您将拥有常规PDF。
答案 1 :(得分:2)
PDF的设计使得在不知道具有增量更新的情况下阅读PDF并等同于阅读最终版本。
如果库不支持增量更新,则默认情况下可能会加载文件的最终版本,因此只需读取和写入文件即可。
例如,使用Coherent PDF Command Line Tools(免费用于非商业用途),您可以
cpdf in.pdf -o out.pdf
一切都会好的。
答案 2 :(得分:1)
我认为许多通用PDF库应该能够在保存文档时执行此操作。
以下是Docotic.Pdf library的示例代码。
string originalFile = "file-with-incremental-updates.pdf";
string compressedFile = "file-without-incremental-updates.pdf";
using (PdfDocument pdf = new PdfDocument(originalFile))
{
pdf.SaveOptions.Compression = PdfCompression.Flate;
pdf.SaveOptions.UseObjectStreams = false;
pdf.SaveOptions.RemoveUnusedObjects = true;
pdf.SaveOptions.OptimizeIndirectObjects = true;
pdf.SaveOptions.WriteWithoutFormatting = true;
pdf.Save(compressedFile);
}
如您所见,可以告诉库从同一输入生成不同的输出。例如,您可以删除未使用的对象并减小输出文件的大小。
免责声明:我是该图书馆的开发人员之一。