我打印了一本长途飞行的技术书籍,最终有 940 页,因为我接受了转换器提供的任何内容,并且它在 11 点提供了 A4,但边缘很窄。 A5 和 14 点的同一本书是 612 页,读起来像平装本。 文字没有任何变化。 更改的是,在某些页面的位置决定了页面的位置之前,可重排文件没有页面计数,而决定是我没有查看的默认值。 这是 EPUB 到 PDF 转换的整个工作,知道它是排版决定,而不是文件副本告诉您对结果的期望。
TL;博士: Epub 是可回流的,这意味着这本书没有自己的页面,阅读应用会根据您的屏幕和字体大小选择行和页面的中断位置。 PDF 是相反的:每个页面都已经绘制。 所以转换是排版,而不是复制,输出是一种新的布局,而不是一个的再现。 文本、标题和章节顺序存活下来。 出版商的字体、确切的换行符、图像和可点击的目录没有。 那个 ePUB 到 PDF 转换器 在 Toolz.dev 上,在您的浏览器中完成工作,因此这本书永远不会上传,并且它也提供纯文本,当您想要搜索或引用而不是阅读时,输出效果更好。
为什么 EPUB 没有页面?
因为它的设计是没有任何东西,这是在屏幕上阅读的正确决定。
epub 章节是 XHTML。 它带有结构,也就是说标题、段落、列表和强调,几乎没有几何。 阅读系统在您打开它的那一刻提供几何图形:您的屏幕宽度、您选择的字体、您设置的尺寸、您是否将手机直立。 更改大小并重新分化书籍。 这就是为什么电子书中的页码不稳定的原因,以及为什么电子阅读器引用了一个百分比或一个位置。
PDF 持有相反的合同。 每个页面都是固定的画布,其坐标处放置的文本,这就是为什么 PDF 在任何地方看起来都一样的原因,为什么在手机上阅读一个意味着捏和滚动。
两者都不好。 他们回答不同的问题。 之所以产生混乱,是因为两者都是“文件中的一本书”,因此当它们之间的转换更接近于排版手稿时,它们之间的转换听起来像是在改变包装器。 有一个例外值得了解:EPUB 还支持固定布局模式,用于烹饪书、儿童书籍和漫画,其中设计内容是内容。 那些更忠实地转换为 PDF 的,因为几何形状已经确定了。
.epub 文件中有什么?
一个网页的拉链,前面有一个细节,使格式可以识别而无需解压缩任何内容。
的 ePUB 3.3 规格 需要 mimetype 文件是存档中的第一个文件,并要求创建者“不得压缩或加密”它。 它的内容是固定字符串 application/epub+zip。 因为它是以已知的偏移量未压缩存储的,所以您可以直接从原始字节中读取它:
# the first 60 bytes of any valid EPUB
head -c 60 book.epub
# PK..........mimetypeapplication/epub+zip...
# and it is a ZIP, so you can look inside without any ebook software
unzip -l book.epub | head
之后,结构由规范而不是惯例固定,这使得转换器成为可能:
META-INF/container.xml位于已知路径并命名包文档。 它是您可以依赖的格式中唯一的位置,这就是每个读者从那里开始的原因。- 包文件, 通常
content.opf,列出书中的每个资源,带有 ID 和媒体类型,然后给出脊柱:作为默认阅读顺序的有序文档列表。 - 章节 是从该清单引用的 XHTML 文件,无论是发布工具碰巧产生的目录布局中的任何目录布局。
所以转换是:解压缩,读取容器,读取脊柱,从每章中拉出标题和段落,排版。 该序列中的任何内容都不需要服务器,这就是它可以在浏览器选项卡中运行的原因。
什么能在转换中幸存下来,什么不能?
在你转换你关心的书之前要清楚这一点,因为诚实的答案是“文字和结构,而不是设计”。
| 续 | 无法生存 |
|---|---|
| 章节顺序,来自脊椎 | 出版商的字体和排版 |
| 标题,在三个层次 | 确切的行和分页符 |
| 段落、列表、块引用 | 嵌入的图像和数字 |
| 文本本身,被解码的实体 | 脚注链接和交叉引用 |
| 您的页面大小和体大小 | 可点击的目录 |
掉落的列不是懒惰,而是工作的本质。 将可重写的书籍的样式忠实地复制为固定页面意味着实现 CSS 布局引擎并嵌入出版商的许可字体,这是一种排版产品而不是转换器。 如果您想要的是设计版本,请查找出版商自己的 PDF。 如果您想要的是文字,按顺序,在您可以打印、注释或发送到平板电脑的页面上,转换为您提供了正是如此。
使用 PDF 标准字体而不是嵌入书的一种副作用:输出根本不包含字体数据,因此一部 400 页的小说在兆字节周围着陆。 带有嵌入字体的 PDF 相同文本的常规时间是五倍。 这也是为什么通过一个运行结果 PDF压缩机 几乎没有保存:没有图像数据,也没有字体数据可以挤压,只有文本。
您应该选择哪个页面大小和身体尺寸?
选择目的地,并记住这两个设置的交互比任何一个外观都更强烈。
一个点是一英寸的1/72,所以A4是595 x 842点,美国的字母是612 x 792,A5是420 x 595。 56 点的默认边距略低于 20 毫米,这是传统的账面边际,而不是传统的文档边距。
三种组合几乎涵盖了所有内容:
A4 在 10 或 11 点 是打印到保存纸张设置。 这条线很长,大约有 90 个字符,这超出了排版员认为舒适的位置,但你得到的页面最少。 将其用作参考材料,您将略读和注释,而不是从前到后阅读。
A5 在 13 或 14 点 是阅读设置,也是我默认的一种。 该措施落地接近 65 个字符,这是持续阅读舒适的地方,结果看起来像平装本。 它产生更多的页面,它们是较小的页面。
12点的美国信 当北美其他人正在打印时,这是正确的答案,除了他们的打印机装满了那张纸之外,没有其他原因。
航向从身体大小而不是独立设置,第一级为 1.7 倍,二级为 1.4 倍,三级为 1.2 倍,因此提高体型可以按比例提高一切,并且层次结构保持不变。
为什么有时会跳到下一页?
因为它即将成为页面上的最后一行,而与它引入的文本分开的标题是每个读者立即注意到的一个分页错误。
分页器中的规则是保持一个标题,至少包含其中的一行。 当一个航向加一个车身线条不适合剩余的空间时,页面会提前冲洗,并且标题开始下一个。 这就是为什么转换后的 PDF 有时会以短两行结尾的页面。
排版师称一般问题为寡妇和孤儿,专业排版更进一步,在页面之间来回拉动,以避免一段段落的单行单独被搁浅。 这个转换器处理的是航向箱而不是一般的情况,这是一个故意的限制:一个完整的寡妇和孤儿通行证需要跨页面向后回流,而标题规则会捕捉到读者抱怨的错误。
你应该转换为纯文本吗?
对于数量惊人的工作,是的,它既更快又更有用。
每当这本书要被一个人以外的人阅读时,纯文本就会获胜。 搜索一整本书 grep。 将章节提供给脚本。 在不与 PDF 的列订单作斗争的情况下拉引号。 数字。 在没有 PDF 查看器的机器上的编辑器中阅读。 没有一个想要页面家具,.txt 文件是按顺序排列的章节,用空行隔开,没有别的。
它也是最快的输出,因为根本没有布局工作发生。 读取结构,块被展平,文件被写入。
你放弃的是一个页面给你的一切:标题看起来像标题,一个可打印的人工制品,指向的稳定引用。 阅读,PDF。 用于处理文本,纯文本。 当您有一个PDF并希望将单词从中移除时,同样的拆分适用于相反的,这是什么 PDF 转文本 是为了。
为什么我的图书馆书无法转换?
因为它是加密的,并且浏览器中运行的任何转换器都无法读取它。
从图书馆借来的书或从大多数主要商店购买的书都有 DRM。 ePUB 结构仍然存在,但内容文档是加密的,密钥与帐户和授权应用程序相关联。 格式有一个位置: META-INF/encryption.xml,规范将其定义为持有“关于出版资源的加密的信息”。 打开这样的文件的转换器会找到它无法读取的章节,并且失败。
这不是一个可以解决的错误,我不会告诉你如何解决。 实用的路线是合法的:许多出版商直接销售无DRM的ePubs,Project Gutenberg和标准电子书是无DRM的,您的图书馆的应用程序通常可以将书籍发送到设备而不转换任何内容,而您想要的纸质书通常以出版商销售的PDF版本存在。
一个无DRM的文件通常转换,人们需要转换的大部分内容已经是无DRM的:手稿,来自出版商的技术书籍,销售直接以EPUB的文档,公共领域的经典。
为什么我不能转换 Mobi 或 Azw3?
因为它们不是网页的压缩档案,上面的整个方法都取决于这一点。
Mobi、AZW、AZW3 和 KFX 是 Amazon 自己的格式,建立在具有不同内部结构的不同血统上。 浏览器可以解压缩zip;如果没有针对每代格式的专用解析器,它就无法打开PalmDoc派生的二进制数据库。 因此,该工具命名了格式,而不是失败的归档错误。
工作的路线在您自己的机器上进行校准:将 AZW3 转换为 EPUB,然后将 EPUB 带到这里。 排序对结果也更好,因为 Calibre 了解这些文件中的元数据和结构,并产生比任何一步转换都更干净的 EPUB。
这本书会离开我的机器吗?
不 。 解压缩、解析和 PDF 写入都发生在浏览器选项卡中。
这对书籍来说比人们想象的更重要。 未发表的手稿、论文下的论文、内部手册、您有许可证可以阅读但没有重新分发的书籍:将任何这些内容上传到免费的转换网站意味着将完整的副本交给您未阅读的公司。 这里没有要移交的副本,您可以在转换运行时在 DevTools 网络面板中确认。
实际限制是标签内存而不是计划,而对于ePub来说,这个限制是慷慨的,因为长篇小说是几兆字节的压缩XHTML。 图像重的固定布局书籍是变大的书籍,这些也是文本提取转换器的功能最差的书。
另一个方向呢,pdf到ePub?
更难,值得理解的原因,因为它解释了 PDF 包含的内容。
PDF 不存储段落。 它存储位于页面上的字形,分组为文本显示操作,这些操作通常会中断单词,而不必按阅读顺序出现。 重构段落意味着从坐标推断它们:此运行位于具有一致领先的下方,此间隙是一个分栏而不是段落中断,该重复的行在底部附近是一个正在运行的页脚而不是一个句子。 每个 PDF 文本提取器都在进行该推理,并且它们中的每一个都弄错了。
转换两栏学术论文表明:朴素提取交织列,产生交替的半句。 这不是任何一种工具的错误,而是一种记录墨水去向的格式的结果,而不是墨水的含义。
将 EPUB 转到 PDF 是一个简单的方向,因为结构存在于源中,而几何体是正在发明的事物。 回溯意味着从几何中发明结构,这就是为什么结果的可变性如此之大的原因。 当你只需要这些话时, PDF 转文本 是诚实的工具,对于 PDF 周围的布局保存作业,有 压缩 並 字转换 而不是通过 Epub 来回旅行。 那个 PDF 工具包指南 涵盖其中哪些适用于哪个问题。
你如何检查转换结果正确?
四张支票,每张大约十秒钟,它们几乎能捕捉到所有出错的东西。
数章。 脊椎说这本书有多少文件,并且 unzip -l book.epub 列出它们。 如果 PDF 的章节标题明显少于 EPUB 包含内容文档,则跳过了一些内容:通常只有一个图像,文本提取器将其正确读取为空,并且期望页面的读者会发现缺失。
阅读最后一页。 截断最后是隐藏最好的失败模式,因为前一百页看起来很完美。 如果这本书在句子中结束,脊柱并没有完全走动。
从中间搜索一个单词。 打开 PDF,搜索您知道的短语出现在中途,并确认它在正确的章节中。 这捕捉到了阅读顺序问题,其中前置物体被标记为可跳过的地方意外地落地。
看标点符号。 epubs 充满了字符实体,并且无法解码它们的转换器会离开 — 或 ’ 在文本中可见。 这里的转换器对命名和数字实体进行解码,并将印刷破折号映射到普通的连字符,因此源中的 em 破折号在 PDF 中以连字符而不是缺少字形的字体中的框出现。
如果一本书全部失败,通常是 DRM 而不是转换故障,并且在您选择文件的时候错误会这样说。



