我曾經在長途飛行中印製了一本技術書,最終獲得了 940 頁,因為我接受了轉換器提供的任何東西,它以 11 點的優勢提供了 A4,邊緣很窄。 A5 和 14 點的同一本書是 612 頁,讀起來像平裝本。 文字沒有任何變化。 改變的是,在某些東西決定頁面落在哪裡之前,可回流文件沒有頁面計數,而決定的事情是我沒有看過的預設值。 這就是 epub 到 pdf 轉換的全部工作,知道這是一個排版決定而不是文件副本告訴你對結果的期望。
TL;DR: EPUB 是可回流的,這意味著這本書沒有自己的頁面,閱讀應用程式會根據您的螢幕和字體大小選擇線條和頁面的斷裂位置。 PDF 恰恰相反:每個頁面都已繪製。 所以轉換是排版,而不是複製,輸出是新的佈局,而不是複製的。 文字、標題和章節順序得以生存。 出版商的字體、確切的換行符、圖像和可點擊的目錄沒有。 那個 epub 到 pdf 轉換器 在 Toolz.dev 上,在您的瀏覽器中完成這項工作,因此這本書永遠不會上傳,它也提供純文字,當您想要搜尋或引用而不是閱讀時,這是更好的輸出。
為什麼 epub 沒有頁面?
因為它的設計目的不具備,這是在螢幕上閱讀的正確決定。
epub 章節是 XHTML。 它帶有結構,即標題、段落、列表和重點,幾乎沒有幾何。 閱讀系統在您打開它時提供幾何圖形:您的螢幕寬度、您選擇的字體、您設定的大小、您是否將手機直立。 更改大小,書本會重新分頁。 這就是為什麼電子書中的頁碼不穩定,以及為什麼電子閱讀器引用百分比或位置的原因。
PDF 持有相反的合約。 每一頁都是固定的畫布,文字位於座標上,這就是為什麼 PDF 在任何地方看起來都一樣,為什麼在手機上閱讀意味著捏和側身滾動的原因。
也沒有更好。 他們回答不同的問題。 混淆之所以出現,是因為兩者都是「文件」中的一本書,因此在它們之間轉換聽起來就像更換包裝紙,而它更接近排版手稿。 有一個例外值得知道:EPUB 也支援固定佈局模式,用於食譜、兒童書籍和設計為內容的漫畫。 那些更忠實地轉換為 PDF,因為幾何已經決定了。
.epub 檔案中有什麼?
網頁的 zip,前面有一個細節,可以識別格式,而無需解壓縮任何內容。
的 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 倍,因此提高體型會按比例提高一切,並且層次結構保持不變。
為什麼標題有時會跳到下一頁?
因為它即將成為頁面上的最後一行,而與它所介紹的文字分開的標題是每個讀者立即注意到的一個分頁錯誤。
Paginator 中的規則是保持一個標題,其中至少有一行。 當標題加一體線不適合剩餘空間時,頁面會提前刷新,標題開始下一個。 這就是為什麼轉換後的 PDF 有時會有一個頁面結束兩行短。
印刷師稱一般問題為寡婦和孤兒,專業排版更進一步,在頁面之間來回拉動,以避免單獨擱淺的段落。 這個轉換器處理標題案例而不是一般案例,這是一個故意限制:一個完整的寡婦和孤兒通道需要在頁面上向後回流,並且標題規則抓住了讀者抱怨的錯誤。
您應該轉換為純文字嗎?
對於數量驚人的工作,是的,它既更快又更有用。
每當這本書要被一個人閱讀以外的東西時,純文字就會獲勝。 搜尋一整本書 grep。 將章節提供給腳本。 在不與 PDF 的列命令作鬥爭的情況下提取報價。 數數。 在沒有 PDF 檢視器的機器上閱讀編輯器。 這些都不想要頁面家具,而 .txt 檔案是章節的,由空白行分隔,沒有別的。
它也是最快的輸出,因為根本沒有發生佈局工作。 讀取結構,區塊變平,檔案被寫入。
您放棄的是頁面提供給您的一切:看起來像標題的標題,可列印的文物,對點的穩定參考。 閱讀,pdf。 用於使用文字,純文字。 當您擁有 PDF 並希望將其中的單字帶出時,相同的拆分適用,這就是 pdf 到文字 是為了。
為什麼我的圖書館書不轉換?
因為它是加密的,而且在你的瀏覽器中運行的轉換器沒有可以讀取它。
從圖書館借來的書或從大多數主要商店購買的書都帶有 DRM。 EPUB 結構仍然存在,但內容文件已加密,金鑰與帳戶和授權應用程式綁定。 格式對此有一席之地: META-INF/encryption.xml,規範將其定義為持有「有關出版資源加密的資訊」。 打開這樣的檔案的轉換器會找到它無法讀取的章節,但失敗了。
這不是一個需要解決的錯誤,我不會告訴你怎麼做。 實用路線是合法的:許多出版商直接銷售無 DRM 的 Epub,Project Gutenberg 和 Standard 電子書在政策上是無 DRM 的,您的圖書館的應用程式通常可以在不轉換任何內容的情況下將書籍發送到設備,而您想要的紙上書籍通常以出版商出售的 PDF 版本存在。
一個不含 DRM 的文件通常會轉換,而且人們需要轉換的大部分內容已經不受 DRM 的約束:手稿,一本來自出版商的技術書,銷售直接的文件,以 Epub 匯出,公共領域經典。
為什麼我不能轉換 Mobi 或 AZW3?
因為它們不是網頁的 zip 檔案,上面的整個方法取決於這一點。
Mobi、AZW、AZW3 和 KFX 是亞馬遜自己的格式,建立在不同的血統和不同的內部結構。 瀏覽器可以解壓縮 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,搜尋您知道的短語中途出現的短語,並確認它在那裡並位於正確的章節中。 這會解決閱讀順序問題,其中前方物質標記為可跳過的土地,在意想不到的地方。
看標點符號。 EPUB 充滿了字元實體,而無法解碼它們的轉換器離開 — 或者 ’ 在文本中可見。 這裡的轉換器在這裡解碼命名實體和數字實體,並將印刷破解的對應到普通的連字符,因此在原始碼中,EM 虛線在 PDF 中以連字號的形式出現,而不是在沒有字形的字體中作為框框出現。
如果一本書都失敗了,通常是 DRM 而不是轉換錯誤,並且在您選擇檔案時錯誤會這麼說。



