直接编辑PDF然后删除编辑仍然会使PDF损坏

直接编辑PDF然后删除编辑仍然会使PDF损坏,pdf,Pdf,在我编辑之前,我的PDF看起来很好,而现在,即使在我删除编辑内容之后,它似乎仍然损坏了。一个文件差异程序说这两个文件是相同的,但只有一个文件显示信息 复制: 1) 打开PDF,确保里面有东西 2) 在文本编辑器中打开PDF并在顶部添加文本 3) 正常打开PDF,PDF为空 4) 删除步骤2中添加的文本 5) 尽管有相同的文件内容,PDF仍然损坏 如果我将PDF中的代码复制粘贴到另一个文件中并尝试打开该文件,也会发生这种情况。它打不开 是否有任何方法可以将文本添加到PDF并使其不损坏?PDF是一种

在我编辑之前,我的PDF看起来很好,而现在,即使在我删除编辑内容之后,它似乎仍然损坏了。一个文件差异程序说这两个文件是相同的,但只有一个文件显示信息

复制:

1) 打开PDF,确保里面有东西

2) 在文本编辑器中打开PDF并在顶部添加文本

3) 正常打开PDF,PDF为空

4) 删除步骤2中添加的文本

5) 尽管有相同的文件内容,PDF仍然损坏

如果我将PDF中的代码复制粘贴到另一个文件中并尝试打开该文件,也会发生这种情况。它打不开

是否有任何方法可以将文本添加到PDF并使其不损坏?

PDF是一种二进制格式。即使它看起来很像文本,它也不是文本。尤其是PDF文件通常包含二进制数据流,例如图像或嵌入式字体或压缩的任意内容。此外,PDF依赖于PDF对象,从交叉引用表或文件流中记录的偏移开始

不过,许多文本编辑器不仅将您键入的更改应用于文档,还执行其他操作,如统一换行符(DOS CRLF或Unix LF或Max CR)、用特殊字符(例如Unicode替换字符)替换无法解释的字节序列或将其全部删除等

前者(统一换行符)在不更新交叉引用信息的情况下移动数据,使其变得无用。如果解释为换行字符的字节实际上是二进制流数据的一部分,那么流数据也会被损坏

后者(字节序列替换)通常使用压缩数据或其他无法修复的敏感二进制数据损坏PDF中流的内容。根据序列长度,这也会移动数据,从而使交叉引用无效

因此,使用文本编辑器编辑PDF通常是断开PDF的可靠方法

是否有任何方法可以将文本添加到pdf中,并使其不损坏

是的,使用PDF识别软件,例如Adobe Acrobat,但也有其他软件。如果您喜欢编程方法,请使用良好的通用PDF库。许多编程平台都有这样的库

对于极少数类型的更改,也可以使用十六进制编辑器(只替换一些字节,不插入或删除任何内容),但您确实应该知道自己在做什么。

PDF是一种二进制格式。即使它看起来很像文本,它也不是文本。尤其是PDF文件通常包含二进制数据流,例如图像或嵌入式字体或压缩的任意内容。此外,PDF依赖于PDF对象,从交叉引用表或文件流中记录的偏移开始

不过,许多文本编辑器不仅将您键入的更改应用于文档,还执行其他操作,如统一换行符(DOS CRLF或Unix LF或Max CR)、用特殊字符(例如Unicode替换字符)替换无法解释的字节序列或将其全部删除等

前者(统一换行符)在不更新交叉引用信息的情况下移动数据,使其变得无用。如果解释为换行字符的字节实际上是二进制流数据的一部分,那么流数据也会被损坏

后者(字节序列替换)通常使用压缩数据或其他无法修复的敏感二进制数据损坏PDF中流的内容。根据序列长度,这也会移动数据,从而使交叉引用无效

因此,使用文本编辑器编辑PDF通常是断开PDF的可靠方法

是否有任何方法可以将文本添加到pdf中,并使其不损坏

是的,使用PDF识别软件,例如Adobe Acrobat,但也有其他软件。如果您喜欢编程方法,请使用良好的通用PDF库。许多编程平台都有这样的库

对于极少数类型的更改,也可以使用十六进制编辑器(只替换一些字节,不插入或删除任何内容),但您确实应该知道自己在做什么