文件轉換
Office 檔案在你自己的裝置上轉檔,限制先講清楚。
3 個工具
這個分類裡的工具
這幾個工具把 Office 文件轉成 PDF,而且不會把檔案送到任何地方。轉換是跑在你瀏覽器分頁裡的程式 —— 這件事之所以做得到,是因為現代 Office 格式是公開可讀的;而它的意義是:你的薪資表、還沒公布的簡報、簽好的合約,都不會離開你的電腦。這裡每一頁都會先檢查你選的檔案,在你按下按鈕之前就具名說出它重現不了什麼。
.docx 就是一個裝 XML 的 ZIP,而這件事改變了「什麼做得到」
把任何 .docx、.xlsx、.pptx 改名成 .zip 打開,裡面是一棵有規格文件的資料夾樹:word/document.xml、xl/worksheets/sheet1.xml、ppt/slides/slide1.xml,加上樣式、主題、編號規則,以及放圖片的 media 資料夾。這從 2006 年就是公開標準 ECMA-376,中間沒有任何專有的二進位核心。
結果就是:讀一個 Office 檔需要的是 ZIP 解壓器與 XML 解析器 —— 你的瀏覽器本來就有這兩樣 —— 而不是一份 Office。剩下要做的是「知道那些標籤是什麼意思、以及怎麼把結果排在紙上」的那一段。那是真正的工作量,也正是各家轉檔器保真度差異的來源,但那段工作在你自己的處理器上跑得很好。
比較舊的 .doc、.xls、.ppt 是真的不一樣:1990 年代的二進位複合檔,難讀得多,實務上也沒有完整文件。這裡的工具都不接受它們。Office、LibreOffice 或 Google 的編輯器任一個都能兩個動作把它們另存成新格式,而那就是正確的第一步。
為什麼別家要你上傳
幾乎每一個線上 Word 轉 PDF 服務都是在伺服器上跑 LibreOffice:你上傳,一整套 office 套件把檔案打開並列印,你拿到下載連結。保真度很好,因為那字面上就是會在你桌機打開這個檔案的同一個排版引擎。代價是要有一台機器在跑、要管排隊,而你的檔案至少要在他們的磁碟上放幾分鐘。
那筆「每次轉換的成本」就是那些網站長成那個樣子的原因:檔案大小上限、每小時兩個檔、免費版加浮水印、付費方案把這些拿掉。這些都不是隨便訂的。伺服器運算真的要錢,而配給就是那個生意的運作方式。
把排版搬到瀏覽器裡就完全消掉那筆成本,也就消掉了配給的所有理由。這裡沒有大小上限、沒有每小時限制、沒有浮水印、不用帳號,因為一次轉換對我們的成本是零。速度差異我們也量了:在本機跑 LibreOffice,每份測試文件要 1.9 到 6.6 秒;同樣的轉換在瀏覽器裡是 13 到 353 毫秒,而且前面沒有上傳也沒有排隊。
排版失真具體發生在哪裡,以及怎麼事先預測
保真度不是均勻下降的。單欄文字加標題、清單、表格與 PNG/JPEG 圖片,轉出來非常接近原檔 —— 這涵蓋了履歷、信件、報告、發票與多數技術文件。會壞的是「不是單一文字流」的結構:多欄會被攤成單欄、文字方框保留文字但失去位置、頁首頁尾沒有輸出、段落框線不會畫。
有三樣東西完全不轉換,而且是刻意的:圖表、SmartArt 與數學公式。每一樣實質上都是一個獨立的繪製引擎,而一張「差不多對」的圖表比一塊空白更糟,因為它看起來還是像數據。試算表有它自己的版本 —— 目前這一版不畫圖片,而公式一律不重算;後者很重要,因為一個只存了公式沒存結果的檔案,否則就會被印出一個看起來很合理的 0。
這些你都不必靠經驗去猜。每個工具會先讀你這一份檔案 —— 數分欄、文字方框、圖表、圖片,以及它要畫的每一個字元 —— 然後在幾毫秒之內給出一個帶具名理由的判定,在任何轉換發生之前。會轉壞的檔案會被標成會轉壞,而按鈕仍然可以按,因為替你決定「你不可以試」比讓你試一次更糟。
中文、日文、韓文:哪些做得到,哪些我們直接說不
PDF 要畫出一個字,那個字的字型必須嵌在檔案裡,或者是每個閱讀器都內建的十四款標準字型之一。那十四款只有拉丁字母,所以繁體中文需要真的嵌一份字型。這些工具隨站帶一份 6,403 個字元的 Noto Sans TC 子集 —— 常用字、標點、注音、全形英數、製表符、圈號數字 —— 只在你選了檔案、而且那份檔案需要時才抓。實測真實的中文文件大約每五份有一份會用到比較罕見的字,通常只有一兩個,而且常常在人名裡;那些檔案會改抓一份較大的擴充字集。
日文與韓文會被拒絕,並且說明理由。這不是體積上的決定。Noto Sans TC 裡一個諺文音節都沒有(那 11,172 個字元),而一句真實的韓文句子就算用完整的來源字型也只有 9.5% 畫得出來。日文會以一種更具體的方式更糟:加了假名之後,常見的日文專用漢字仍然只有大約 70%,所以頁面會轉出「只對一半」的結果 —— 那比一句明確的拒絕更難解釋 —— 而且我們的偵測器會剛好停止對這類檔案發出警告。這個結果我們是先測過才決定的。
隨站字型的授權是 SIL Open Font License 1.1,授權全文隨檔案一起提供。該授權第 5 節末句寫明「必須維持在本授權下」的要求不適用於使用本字型產生的文件,所以你在這裡產出的 PDF 本身不帶任何授權義務。有一件事我們不宣稱:這些不是 PDF/A 檔案。拉丁文字用的是 PDF 標準字型,而標準字型依定義不嵌入,光這一點就已經讓輸出不符封存標準。
常見問題
我的文件會被上傳嗎?
不會。這幾頁的每一次轉換都是跑在你瀏覽器分頁裡的程式。打開開發人員工具、盯著「網路」分頁、然後轉一個檔案:你的檔案不會出現在任何請求裡。本站送出的安全性政策也把連線限制在自己的來源,所以就算想送也會被瀏覽器擋掉。
可以轉 .doc、.xls、.ppt 嗎?
不行。那些是舊的二進位格式,屬於完全不同的工作。請先用 Office、LibreOffice 或 Google 的編輯器另存成 .docx、.xlsx、.pptx —— 兩個動作,不花錢。
為什麼轉換之前要先警告我?
因為真正要緊的失敗在輸出的指標上是看不見的。有一份測試簡報保留了 92% 的文字,日文標題卻印成一排問號。先把檔案讀一遍並具名說出缺什麼,是在你依賴那份結果之前唯一能抓到它的方法。
有檔案大小限制嗎?
我們沒有設限。實務上的天花板是你裝置的記憶體,因為來源檔與 PDF 都在分頁裡。幾 MB 的檔案很輕鬆。
PDF 會跟原檔一模一樣嗎?
一般單欄文件會很接近。多欄、文字方框、圖表、SmartArt、公式,或以圖片為主體的試算表就不會 —— 而工具會在轉換之前告訴你哪幾項會影響你的檔案。