peadf

使用教程

PDF 为什么这么难编辑?

PDF 不是 Word 文件那样的文档,而是一组绘图指令:把这个字,用这种字体,放到页面上的这个位置,然后结束。你看到的词、行和段落从来没有被保存下来,所以编辑器在改动任何东西之前,都得先把它们推算出来。下面讲讲 PDF 里面到底有什么、为什么有的文件轻松就能改而有的怎么也改不动,以及编辑究竟是怎么做到的。

更新于

PDF 修改文字:在线改字,直接编辑 PDF 原有文字

在浏览器中免费编辑。下载需要免费账户和付费套餐,首周 £0.99。

打开编辑器

PDF 是排好的页面,不是文档

Adobe 在 20 世纪 90 年代初设计这种格式,是为了解决一个问题:不管对方装了什么字体、用什么软件,同一页内容在任何屏幕和任何打印机上都应该一模一样。它脱胎于打印机早已在用的 PostScript 语言,也一直保留着这种本性。PDF 描述的是一切都已定下来之后页面的样子:用哪种字体、多大的字、每一行在哪里换行、每个字落在哪里。

Word 文档和 Google 文档保存的正相反:文字本身,加上排版规则(这是标题,这一段两端对齐,页边距 2 厘米)。每次打开,软件都会按这些规则把页面重新排一遍,所以你在一句话中间打字,后面的内容会自动让开。PDF 早就把这件事做完了,还把规则扔掉了。编辑 PDF,就是要倒推一个文件自己都已经不记得的过程。

PDF 的页面里到底有什么

往 PDF 页面里面看,你找不到句子,只有一串绘图命令。对文字来说,每条命令大致是:用 F1 字体、11 磅,移到这个位置,画出这几个字符。编辑所需要的东西,大多都不在里面:

  • 没有词,也没有段落。文件只是在摆放字符,而且常常是一小截一小截地摆。空格往往只是位置上留出的一段空隙,而不是一个空格字符;段落也不过是几行恰好上下排在一起的文字。
  • 没有阅读顺序。文字可以按生成程序觉得方便的任何顺序来画:表格一列一列地画,页脚先画,报纸式的两栏一行一行地交错着画。
  • 字体被裁减到只剩用过的字。为了让文件小一些,大多数 PDF 只内嵌每种字体的一个子集,里面只有页面上出现过的字符。如果你要改的词里有一个从没用过的字,文件里的字体就没有它的字形。有些 PDF 根本不内嵌字体,阅读器能找到什么字体就用什么。
  • 间距是固定的。两端对齐的文字,保存时在一行里带着精确的间距调整,好让它正好填满行宽。改动一个词,这些数字就全错了。
  • 后加的东西在另外的图层。高亮、批注、白色方框、表单字段和签名,都是画在页面上面的标注,并不属于页面本身。这就是为什么白色方框只是遮住了文字,并没有删除。
  • 看起来像文字的图片。logo、图表、贴进来的截图和扫描的页面都是像素,里面根本没有可以编辑的字符。

PDF 的其他方面也都在强化这一点:内容是压缩过的,各个对象靠它们在文件里的字节位置来定位,有密码保护的文件则是加密的。这一切都不是为了拆开来重新组织而设计的,而是为了显示。

为什么改一个词都这么难

假设你要改段落中间的一个错别字。在 Word 文件里,敲一下键盘就行。在 PDF 里,编辑器得先弄清楚:哪些画出来的字符属于同一行(靠测量它们的位置),哪几行组成一个段落(靠行距、缩进,以及某一行是不是没到边距就停了),这一栏有多宽,文字是左对齐、居中还是两端对齐。这些信息哪里都没有写。

然后,它要把原来的字符藏起来,弄清它们是用哪种字体画的、墨色是什么,再用同样的字体、大小和间距把改好的词画上去,不让人看出来。如果改后的内容比原来长,这一行就放不下了,整个段落都得重新换行,下面的内容也得往下挪。但前提是中间没有东西挡着:表格、图片或页脚就是一堵墙。

这里的每一步都多少带着猜测,而每一个生成 PDF 的程序,在字体、间距和绘制顺序上的选择又各不相同。这才是 PDF 难编辑的真正原因:不是一把锁,而是文件从未记录下来的十几个小细节,每个编辑器都得去推断,而且有时会猜错。

你要改的在 Word 文档里在 PDF 里
段落里的一个错别字重新输入那几个字,段落自动重新换行找到那一行,藏起原来的字符,用内嵌字体重画这个词,再给段落重新换行
把一句话改长下面的内容全部往下移下面的行必须挪动,除非被表格、横线或图片挡住
字体或字体大小改一次样式,全文生效一行一行地改,每行都要重新排;换一种字体,文件里可能根本没有它的字形
扫描的信函里的一个词不做 OCR(文字识别)就不可能一样:OCR 读出来之前,页面只是一张图片
logo 或图表里的文字在制作它的软件里改图片一样:只能把图片换掉

为什么有的 PDF 好改,有的却改不动

因为这种格式允许的差异太大,一个 PDF 好不好编辑,主要取决于它是怎么生成的,而不是你用什么软件打开它:

  • 从 Word、Google 文档、InDesign 或网页导出的:有真正的文字,字体已内嵌,看到的每一行就是画出来的一行。这是最理想的情况。大多数编辑器都能改一个词,好的编辑器还能让段落重新换行。
  • 用了没有内嵌的字体:文字能改,但新打的字会用替代字体,接缝处可能看得出来。
  • 扫描或拍照得来的:一张没有文字的图片。在用 OCR 把扫描件变成可编辑的文字之前,什么都选不中;即便识别之后,得到的文字也只是引擎对这些像素的最佳判读。
  • 已扁平化或已签名的:扁平化,也就是把表单字段和标注并入页面;数字签名则会把文件封住,一经改动,签名就失效了。
  • 有密码保护的:内容是加密的,没有密码,任何编辑器都看不到页面。

如果你的问题出在某一个具体的文件,而不是这种格式本身,为什么这个 PDF 无法编辑这个页面对上面每一种情况都给了一个十秒钟的测试,以及对应的解决办法。

好的 PDF 编辑器是怎么做到修改文字的

这种格式本身并不妨碍编辑器修改文字。编辑器只需要把文件省略掉的那些信息重建出来,而且要做得足够好,让结果看不出改过。编辑器之间的差距主要就在这里。有的把整页转成文字处理软件的文档再转回来,版式就丢了;有的把改过的页面变成一张图片,可选中的文字就没了;有的随手拿一种字体画上新词,旧词还留在底下。

peadf 的“PDF 修改文字”工具正是为了把这件事做好而设计的,在你的浏览器里完成,文件不会上传。它按位置把画出来的字符归成行,判断哪几行是一个段落、这一栏有多宽,直接从绘图命令里读出墨色,再从文件里读出字体,让改过的那一行和周围的行用同一种字体排出来。在能够安全移除并经过核对的情况下,原来的字符会从文件里真正去掉;否则,就用一块按页面自身背景画出的补丁把它们盖住。改长之后,只有非换不可的那几行会重新换行,下面的文字会被往下推,但只会在空白背景上推。如果你打的某个字是内嵌字体里从来没有的,就只把那一个字单独画出来,这一行的其余部分仍然是真正的文字。

怎样编辑 PDF,才能尽量不破坏页面

知道了这种格式为什么会抗拒修改,也就知道了该怎么和它打交道。不管你用哪个编辑器:

  1. 1

    先看看你的 PDF 是哪一种

    在一行文字上拖动鼠标。如果文字被选中,说明页面里有真正的文字;如果出现的是一个罩住整页的方框,那它就是扫描件,得先做 OCR。

  2. 2

    直接修改原有的行,而不是盖住它

    在 peadf 里,用“PDF 修改文字”工具打开文件,用“选择”工具点击那一行,直接在原位重新输入。这样编辑器就能保留它读出来的字体、大小、颜色和对齐方式。

  3. 3

    改后的长度尽量和原来接近

    长度差不多的修改会留在原来那一行。改得长很多,段落就要重新换行;要是下面的文字没有地方可以推,编辑器会告诉你。

  4. 4

    把新打的字和旁边的字比一比

    放大看看。如果某个字看起来像另一种字体,说明文件里没有它的字形。换个说法避开这个字,或者把整行盖住重新排,都能让页面保持一致。编辑 PDF 而格式不走样这个页面对此有更多说明。

  5. 5

    检查导出的文件,而不是编辑器里的

    用你平时用的阅读器打开下载好的文件。搜索一下改后的词,再搜索一下原来的词。编辑免费。下载需要免费账户和付费套餐,首周 £0.99。

再好的编辑器也做不到的事

  • 图片里的文字。图表、截图或 logo 里的字只是像素,所以只能用“PDF 替换图片”换掉整张图,没法编辑。
  • 居中和右对齐的文字、表格单元格以及单独的一行,只能一行一行地改,各自守住对齐的那一边,因为没有段落可以重新换行。
  • 推不动下方内容的段落,会被压进现有的空间里,但只能压到一定程度。超过了,实在的办法只有把文字改短。
  • 没有内嵌的字体,以及内嵌子集里没有的字符,都会用替代字体画出来。改动短,不太看得出来;整段新写的文字就藏不住了。
  • OCR 出来的文字只是估计。位置和大小都是近似的,识别出来的词需要校对。
  • 数字签名经不起任何编辑,在哪个编辑器里都一样。拿一份未签名的副本来改,改完再签一次。
  • 加密不是走过场。没有密码就没有页面可编辑,这里也没有任何功能能找回或猜出密码。

大家常问的问题

PDF 为什么要设计得这么难编辑?

它不是被设计得难编辑,而是被设计得不可能显示出错。20 世纪 90 年代初,同一份文档在每台机器上看起来都不一样,把每个字钉在固定位置解决了这个问题,这也正是至今合同、发票和表单都用 PDF 的原因。可编辑从来不是目标,所以这种格式从没保存过编辑所需要的东西。

为什么从 PDF 里复制出来的文字是乱码?

文件用它自己的一套私有方式把字符对应到字形,却从来不说明这些字形代表哪些真正的字。阅读器能把字形画对,但复制时没有任何东西可以把它们翻译回来,读取文字的编辑器也会碰到同样的问题。实际可行的办法是找回原始文档,如果还有人留着的话。

把 PDF 转成 Word 再改,是不是更容易?

对于短而简单的文档,往往是的:转换工具猜出结构,你编辑一份普通文档,再导出一个新的 PDF。但只要有分栏、表格、精确的间距或特定的字体,猜出来的结构本身就是问题,新的 PDF 会变成一份内容相同、外观不同的文档。如果页面必须和原来一样,只改一处,那就直接编辑 PDF 本身。

为什么我一编辑 PDF,字体就变了?

要么是字体从来没有内嵌进文件,编辑器只能拿替代字体来画;要么是内嵌的只是一个子集,里面从来没有你打的那个字。完全不理会内嵌字体的编辑器,每改一处都会换字体。解决办法是用一个会从文件里读取字体的编辑器,而且改动时不超出它已有的那些字。

为什么在浏览器或邮件预览里不能编辑 PDF?

它们的目的是快速、安全地把文件显示出来,而不是修改它。大多数能填表单字段,有些能加批注,仅此而已。文件通常没问题,受限的是软件本身。

PDF 有没有可以打开的文字层?

打字生成的 PDF,文字本来就在页面里,以字形的方式画出来。扫描的 PDF 没有文字,也没有什么开关可以打开,文字必须靠识别。运行 OCR 之后,编辑器就有了每一行的识别结果可以依据,改过的行导出后也能被搜索。

这件事用得上的工具

继续阅读