跳至内容

如何修复电子教材 PDF 中缺失或重复的页面

判断问题来自官方导出、页码编号、加载不完整还是获准的截图序列,然后只重建受影响的范围。

8 分钟阅读PDF作者:Temposhot Team

Auto Capture turning 6 pages of a book in Preview with Page Down after each screenshot

已保存的电子教材 PDF 从第 41 页跳到第 44 页,或者第 57 页出现两次。在重新制作之前,先找出缺口的来源。原因决定修复方法,多数情况下只需要重做一小段范围。

本文的示例是一本 350 页的开放许可教材,在允许屏幕捕获的网页阅读器中阅读。使用 Auto Capture 以 500 毫秒间隔捕获,Screenshots 设为 350。生成的 PDF 有 7 页重复,中间缺失 3 页,并且在书末缺少 4 页。

四个统计卡片:保存了 350 帧,7 页重复页,书中间跳过 3 页,末尾有 4 页运行未能到达。

这些数字相互关联。每次重复都是一帧没有翻书,每次跳页都让书多前进了一页。因此运行只到达了第 350 减 7 加 3,即第 346 页,第 347 至 350 页缺失。

不要把 PDF 序号与教材页码混淆

PDF 阅读器从文件的第一页开始按 1 计数。教材自身印刷的页码可能从罗马数字开始,也可能跳过空白页。例如第 3 章的一个 20 页 PDF 可能包含印刷页码第 61 至 80 页。

比较每页上的印刷页码,而不是阅读器的计数。很多看似的缺口在这样比较后会消失。同时检查空白页和双页跨页,它们会改变计数,但不会丢失内容。

对照表:PDF 页位置与印刷页码的对应关系。封面没有页码,前言使用罗马数字 i 至 xii,第 1 章从印刷第 1 页开始,对应 PDF 第 14 页。

计数前先建立页码映射

示例中,书的前言占 12 页,使用罗马数字,封面没有页码。印刷第 1 页位于 PDF 第 14 页。如果只写"第 156 页缺失",在说明使用哪种页码体系之前,这句话没有意义。

在 QA 日志顶部写下两行映射:印刷第 1 页所在的 PDF 页码,以及书在章节前插入的空白页。之后的每项检查都使用同一套页码。

跨页与折页

以单页视图捕获的双页跨页会变成两帧。宽幅折页表格在某些阅读器中是一帧宽图,在其他阅读器中是两帧。两者都不是缺页,但都会改变帧数,因此应在映射中标注。

罗马数字与未编号页

前言通常使用罗马数字,有些书还会为索引或附录单独编号。PDF 从 xii 跳到 1 是正常的。从 21 跳到 23 也可能是正常的,前提是书在章节开头前留了一页未编号的空白页 22。

检查疑似缺口之前的那一页。章节在右侧页面底部结束时,下一个左侧页面通常是空白页,书会跳过该页码。

如果 PDF 来自阅读器的官方导出

带有 Save to PDF 或 Self-Print 功能的阅读器只会输出你选定的页面。缺页通常由以下原因造成:

  • 选定的范围比预期结束得更早。
  • 打印额度在中途用完,阅读器停止导出。
  • 出版方排除了某些页面,例如部分图片,使其不能打印。

查看阅读器中显示的剩余额度。如果额度足够,只导出缺失的页面。

确认实际选定的范围

范围输入框通常使用阅读器自己的页码标签。如果阅读器使用印刷页码,而你输入的是 PDF 位置,导出会提前结束或延后开始。输入印刷页码范围,然后将输出的第一页和最后一页与该范围对照。

被排除的页面看起来像缺口

有些导出会省略出版方不允许打印的页面,例如授权照片或第三方图表。该页可能缺失,也可能以占位符显示在图片位置。两者都不是导出的错误,重新捕获该页也不能解决问题。

在 QA 日志中将这些页面标记为出版方排除。如果学习需要这张图,可以在阅读器中查看,或询问图书馆是否有包含该图的其他版本或纸质书。

如果 PDF 来自浏览器打印

从浏览器打印网页阅读器经常会丢页。浏览器只打印已经加载的内容,因此阅读器在滚动时才加载的页面可能显示为空白或缺失。排版也可能跨纸张断开。

如果阅读器提供自己的打印命令,请优先使用。将网页电子教材打印为 PDF 时版式被破坏的问题 一文说明了浏览器打印为何难以处理这类阅读器。

阅读器尚未加载的页面

许多网页阅读器为节省内存,只在滚动到附近时才加载页面。浏览器的打印对话框只读取当前状态,因此离当前位置较远的页面可能打印为空白。结果是页数正确但页面为空的 PDF,直到逐页翻看前都像是完整的。

缩略图可以快速发现这个问题:空白页在侧边栏中显示为白色方块。对于浏览器打印的 PDF,应先检查缩略图。

四个方框的流程:确认 PDF 的生成方式,将印刷页码与页码映射对照,将症状与来源对应,只重做受影响的范围。

如果 PDF 来自获准的截图

逐页捕获会因时序问题产生缺口和重复。在 Temposhot 的 Auto Capture 中,每个周期先保存一张截图,再发送按键,然后等待设定的间隔。

症状可能原因修复方法
同一页出现两次翻页时间超过间隔将间隔从 500 毫秒提高到 1 秒
页面只渲染了一半截取时页面仍在加载提高间隔,等待首页完全加载
跳过一页阅读器因一次按键翻了两页使用单页视图
运行提前停止Screenshots 数量过少将 Screenshots 设为确切的页数
没有翻页按键发送到了其他窗口在倒计时期间点击阅读器
Auto Capture turning 6 pages of a book in Preview with Page Down after each screenshot

为什么 500 毫秒在本书中产生了重复页

7 页重复并不是均匀分布的。其中 6 页位于全页图表上,阅读器绘制下一页所需的时间超过半秒。Temposhot 按屏幕当时的内容保存,因此截到的仍是上一页。

0.0 至 1.5 秒的时间线:保存第 88 页并发送右方向键;0.5 秒时阅读器仍在绘制第 89 页,因此再次保存第 88 页;0.7 秒第 89 页出现;1.0 秒的下一帧保存第 89 页。

为什么会跳页

3 个跳过的页紧跟在一个宽表格之后。阅读器在此处为表格切换到双页布局,因此一次 Right Arrow 向前移动了两页。在阅读器的显示设置中使用单页视图可以防止这种切换。

排队的按键也会导致跳页。如果阅读器缓存了在绘制期间到达的按键,下一次翻页可能会前进两页。延长间隔可以同时消除这两种原因。

半渲染页面比重复页更难发现

半渲染的帧显示正确的页码,但图表是空白或模糊的。它能通过页码检查,只有在实际阅读页面时才会暴露问题。示例中有 2 页在图表位置显示灰色方块,且都位于图表较多的章节。

用较大的尺寸检查图片较多的章节的缩略图。如果某处的灰色或白色块与相邻页面的图表位置不一致,就应该重新捕获该页。

完全没有翻页时

如果每一帧都显示第一页,说明按键被发送到了其他窗口。运行开始时阅读器必须具有键盘焦点。在倒计时期间点击阅读器页面内部,不要点击工具栏,否则搜索框可能会接收按键。

通过测试而不是猜测来确定间隔

正式运行前,先对书中最慢的一段做 20 页测试。示例中的测试范围是第 80 至 99 页的图表较多章节。在 500 毫秒下,20 帧中产生了 3 页重复;在 1.2 秒下没有产生重复。

500 毫秒与 1.2 秒两种间隔的对比:完整运行时间、20 页测试中的重复页、测试中的跳页,以及事后是否需要复查。

较慢的设置使运行时间增加约 4 分钟,同时省去了快速运行后需要的半小时审核与修复时间。

对于没有慢速章节的书,500 毫秒可能已经足够。测试的目的是确认这一点。每个阅读器、每类书籍运行一次测试,然后将结果保存为预设。

只重建受影响的范围

  1. 记录范围

    写下需要替换的第一个和最后一个印刷页码。

  2. 重新捕获或重新导出

    对于获准的捕获,转到第一个缺失页,应用 Kindle 预设(20 张截图、500 毫秒、Right Arrow、3 秒倒计时),然后调整间隔,并将 Screenshots 设为该范围的页数。应用预设后会清空来源,需要重新选择来源。

  3. 清理帧

    在结果面板中清除重复的帧,然后选择 PDF。

  4. 插入页面

    在 PDF Page Organizer 中打开原始 PDF,删除有问题的页面并插入新页面。也可以使用 Merge PDF 按顺序合并文件。

也可以选择 Create Document,将帧作为页面打开,然后在编辑器中重新排序或删除。Documents 页面与导入指南 介绍了如何添加和删除页面。

示例的修复方案

示例需要四处小修复,而不需要重新运行 350 帧的捕获。删除 7 页重复页。3 个跳过的页各需要一帧单独捕获。最后 4 页进行一次短时运行。

修复页面帧数1.2 秒时的耗时
删除重复页7 页0无
跳过页 1印刷第 143 页1仅倒计时
跳过页 2印刷第 220 页1仅倒计时
跳过页 3印刷第 306 页1仅倒计时
末尾范围印刷第 334 至 337 页4约 5 秒
修复运行的设置面板:Stop condition 为 Screenshots 4,Interval 为 1.2 秒(填写为 1200 ms),Key press 为 Right Arrow,Countdown 为 5 s,Source 为 Windows 中的阅读器窗口。

对于单独的跳过页,将 Screenshots 设为 1,并将 Key press 留空。在缺失页打开阅读器并开始运行,倒计时即为所需的全部时间。

将修复合并到原始文件

每个修复导出都是独立的 PDF。页面整理器可以把它们放到正确位置,无需重新导出整本书。

PDF Page Organizer 中的五个编号步骤:打开 350 页的 PDF,删除 7 个重复页,把 3 个单页修复插入到各自位置,将 4 页的末尾范围追加到结尾,以新名称下载修复后的文件。

从最高位置开始删除,可以在操作过程中保持前面页面的位置不变。按从前往后的顺序插入修复页,原理相同。

修复集中时使用 Document

当多处修复位于同一章节时,使用 Document 可能比逐页插入更快。为原始会话选择 Create Document,然后使用 Add from Capture History… 添加修复会话的帧。在 Pages 面板中,将每个修复页拖到正确位置,并删除重复页。

在编辑器中使用 Export PDF 导出结果。该导出会添加页面标题和 PDF 版式设置,因此更适合用作学习资料,而不是逐页复制原书。

将修复文件与原始文件放在一起

开放教材文件夹的文件树:包含原始 350 页捕获文件、repairs 文件夹(内有三个单页 PDF 和一个 4 页末尾范围 PDF)、修复后的文件和 QA 日志。

在修复后的文件通过以下所有检查之前,保留原始文件。如果合并出错,原始文件和修复文件足以重新开始。

以印刷页码而不是 PDF 位置命名每个修复文件。无论删除或插入多少页,印刷页码都保持不变,而 PDF 位置会随每次改动而变化。这样 QA 日志可以与文件名逐行对应。

用缩略图和内容地标进行验证

在 Preview 中打开修复后的 PDF,选择 View,然后选择 Thumbnails。滚动侧边栏并检查:

  • 印刷页码按顺序排列,没有重复。
  • 章节开头和小节标题出现在目录所示的位置。
  • 图表和表格位于其标题所指的页面上。
  • 最后一页结束的位置是书中下一页开始的位置。

搜索范围中间的一个标题。在可搜索 PDF 中,搜索结果可以确认该页存在。

将目录用作地标列表

目录提供了章节开头及其印刷页码的固定列表。选取分布在全书的五个章节,例如第 1、4、8、12 章和索引。在修复后的 PDF 中转到每个印刷页码,确认章节标题存在。

如果某个地标偏差一页,错误位于该地标与上一个地标之间。这样就把排查范围缩小到一个章节,而不是 350 页。

检查清单:页数为 350,印刷页码从 i 到 337 连续且没有重复,3 个修复页位于相邻页之间,最后一页印刷页码为 337,搜索能找到第 220 页的标题。

检查接缝,而不只看页数

350 页的页数仍可能掩盖错误:某个修复页放置位置偏前一位,会导致两页互换。检查每个修复页前后的页面。前一页的最后一行应与修复页的第一行衔接。

检查修复页的文本层

使用 PDF 从 Temposhot 导出的修复 PDF 带有 OCR 文本层,与原始导出相同。搜索一个只出现在修复页上的词。如果搜索能找到它,说明修复后的文件仍然完全可搜索。

保存简要的 QA 日志

简短的日志可以避免重复工作:

  • PDF 来源:阅读器导出、浏览器打印或捕获会话。
  • 覆盖的印刷页码范围。
  • 被替换的页面及替换时间。
  • 有效的设置,例如间隔和按键。

使用 Save Current Setup 将有效的捕获设置保存为预设,参见捕获预设指南。

示例的日志条目

示例的日志共六行,记录了页码映射、第一次运行的设置、审核结果、更改间隔的测试、修复以及最终检查。同一阅读器的下一本书可以直接从 1.2 秒开始,无需重复测试。

以阅读器和时序命名的预设,例如 "Open textbook reader, 1.2 s, Right Arrow",可以快速复用。预设保存 Stop condition、间隔、按键和倒计时,但不保存来源。

预留审核时间

对于这种规模的书,仔细的缩略图检查需要 15 至 20 分钟。地标检查增加 5 分钟,每次修复运行不到 1 分钟,另加合并时间。在捕获当天预留这些时间,问题可以在阅读器设置仍然清楚时修复。

做与不做列表:做法包括测试最慢章节的 20 页、将阅读器切换为单页视图、保留原始文件;不做的包括为修复 10 页而重跑全部 350 页,或仅按 PDF 序号计数。

在运行之间更改缩放,会使修复页的尺寸与相邻页面不一致。保持阅读器窗口、缩放比例和来源与原始运行相同。

常见问题

为什么 PDF 显示 20 页,而我预期是 22 页?

检查印刷页码。书中的空白页或跨页可以解释这一差异。

导出前可以删除重复页吗?

可以。在结果面板中取消选中它们的复选框,然后只导出选中的帧。

是否需要重新运行整个捕获?

很少需要。只重做有问题的范围,然后插入。

如何在 350 张缩略图中快速发现重复页?

在 Preview 的缩略图侧边栏中以较大尺寸查找重复的印刷页码。对于不确定的一对页面,Compare Images 可以显示两张导出的页面图片是否不同。

为什么运行在最后一页之前就停止了?

每个重复页都占用了一帧,却没有推进书的页码。7 个重复页加 3 个跳页,使 350 帧的运行少了 4 页。应重新捕获末尾范围,而不是提高数量后重跑。

延长间隔总能解决问题吗?

它能解决时序问题。它无法解决在双页视图中一次按键翻两页的阅读器,也无法解决按键被发送到其他窗口的情况。

不使用 Temposhot Pro 能修复 PDF 吗?

小范围修复可以。将 Key press 留空,在每次单帧运行之间手动翻页,这样每次运行都在免费的每次会话额度之内。在浏览器中使用 PDF Page Organizer 删除重复页和插入页面是免费的。

修复页的图片尺寸应与原始图片一致吗?

应该一致。使用与原始运行相同的窗口、缩放和来源。尺寸不同的修复页在 PDF 中显得突兀,并且在查看器中可能以不同比例缩放。

无需重建整个 PDF 即可修复受影响的页面

在浏览器中使用 PDF Page Organizer 重新排序、删除和插入页面,或下载 Temposhot,以更正后的时序重新捕获获准的范围。

pdfetextbookstroubleshootingauto-capture

把重复性截图整理为成品

Temposhot 可按定时或每次点击进行截图,并将结果导出为 PDF、图片、ZIP 或 MP4。

相关文章