PDF编辑直接然后删除编辑仍然留下PDF损坏
我的PDF看起来很好,直到我编辑它,现在它仍然看起来已经损坏,即使我拿出我的编辑。文件差异程序说这两个文件是相同的,但只有一个正在显示信息。PDF编辑直接然后删除编辑仍然留下PDF损坏
重现:
1)打开PDF,并确保有它
2)在文本编辑器打开PDF里面的东西,并在顶部
3)打开PDF添加文本通常,它是空的
4)删除在步骤中加入2-
5)PDF仍然是损坏的文本尽管具有相同的文件内容
这也会发生,如果我从PDF复制和粘贴代码到不同的文件并尝试打开它。它不会打开。
有什么办法可以将文本添加到PDF并使其不会损坏?
PDF是二进制格式。即使它看起来相当text'ish,它是而不是文本。特别是PDF文件通常包含二进制数据流,例如,用于图像或嵌入字体或压缩的任意内容。此外,PDF依赖PDF对象,从文件中交叉引用表或流中标注的偏移处开始。但是,许多文本编辑器不仅将所输入的更改应用到文档中,而且还执行其他操作,如统一换行符(DOS CRLF或Unix LF或Max CR),替换它们无法解释的字节序列由一个特殊字符(如Unicode替换字符)或完全删除它们等。
前者(统一换行符)在不更新交叉引用信息的情况下移动数据,使其无效。如果解释为换行符的字节实际上是二进制流数据的一部分,则流数据也会被损坏。
后者(字节序列替换)通常会使用压缩数据或其他无法修复的敏感二进制数据损坏PDF中的流的内容。根据序列长度的不同,这也会移动数据并使交叉引用无效。
因此,使用文本编辑器来编辑PDF通常是一个打破PDF的可靠方法。
有什么办法能够将文本添加到pdf并让它不会损坏?
是的,使用PDF意识软件,例如, Adobe Acrobat,但也有其他的。如果您更喜欢编程方法,请使用一个好的通用PDF库。许多编程平台都有这样的库。
对于极少数类型的更改,也可以使用十六进制编辑器(只替换一些字节,不插入或删除任何内容),但您确实应该知道自己在做什么。