這個頁面的程式碼沒跑起來。 直接從資料夾裡開啟 index.html,瀏覽器會攔下 JavaScript 模組,於是你選好一張紙的照片之後,頁面不會有任何反應。改用 http 把這個資料夾提供出去:
powershell -ExecutionPolicy Bypass -File serve.ps1 然後開啟 http://localhost:8080/。
1 選照片 一頁一張照片,從上方拍。整張紙要在畫面裡,四個角看得見或者接近看得見。別的一切,傾斜、陰影、下面那張桌子,都是這個工具存在的理由。加進來好幾張,它們就按你加的順序變成一份文件的各頁。
把紙張照片拖到這裡 或者點選選擇 | 一頁一張照片,按頁面順序 試個例子
2 把角對到紙上 在照片上隨便點一下,最近的那個角就到你手指這裡來,把它拖到紙的角上。用 Tab 可以從鍵盤選中一個角,方向鍵挪一個畫素,按住 Shift 挪十個。這些都不是不可挽回的,掃描的是四個角最後停在哪裡。
選一張照片,它會出現在這裡,四個角已經替你找好了。
3 清理 下面這個就是真結果,做它的和寫檔案的是同一段程式碼:擺正過,不勻的光也除掉了。你在挑的時候,螢幕上按螢幕的尺寸畫;檔案本身按照片的解析度做。
彩色,去掉不勻 把紙的亮度在整頁上量一遍再除掉,於是陰影消失、紙重新變白,而印章、藍墨水的簽字、熒光筆劃的那一行都保住自己的顏色。顏色本身屬於文件的時候,用這個。
灰階 同樣去掉不勻,只是不要顏色。比彩色小,對照片和簽字也比黑白溫和。
黑白 每個畫素是拿它自己的鄰域來判,而不是拿整頁一個數字,這正是陰影裡的字還看得清的原因。掃描檔小下來靠的就是它:二十頁的合同用這個模式在一兆以內,存成照片則要十五兆上下。這個模式沒有中間調,所以帶照片的頁面別選它。
保持原樣 只擺正,別的什麼都不做。給那種紙本身也要緊的頁面用:有年頭的、帶顏色的、或者一張照片。
一有照片可以擺正,擺正後的頁面就出現在這裡。
4 儲存文件 PDF 就在這裡、在這一頁的記憶體裡一頁一頁地做出來。這個工具的另一頭沒有伺服器可以接收工資單、護照或者合同,程式碼裡也沒有任何東西會去做這件事。
列印解析度 一張由這麼多畫素組成的紙,要管它叫多大,就這麼回事。它改的是文件列印出來的尺寸,掃描檔裡一個畫素也不會變。
最長邊 擺正後頁面的上限。一張紙的照片帶的畫素遠多於這張紙值得的,長邊 2400 在 A4 上大約是 200 DPI。
品質 用於存成 JPEG 的彩色和灰階模式。黑白頁面是精確儲存的,對它們這一項不起作用。
文件標題(可選) 除了頁面之外,寫進文件裡的只有這一樣。沒有日期,沒有作者,也沒有關於這臺裝置的任何東西。看 src/document.js。
頁面尺寸 紙張按頁面本身的大小 A4 | 210 × 297 mm Letter | 8.5 × 11 in Legal | 8.5 × 14 in A5 | 148 × 210 mm
列印解析度 150 DPI 200 DPI 300 DPI | 辦公裝置 600 DPI
最長邊 1600 畫素 | 小 2400 畫素 3500 畫素 照片允許多大就多大
文件標題(可選)
存成 PDF 把頁面存成圖片
發出去之前先開啟看一眼。文件裡的內容,就是第 3 步螢幕上一頁一頁顯示過的那些。
沒有要寫的頁面。 這個瀏覽器沒有 CompressionStream,而黑白模式壓縮一頁正需要它。換用其他幾種模式之一。 這個瀏覽器沒能把這一頁編碼成 JPEG。 這個瀏覽器沒能把這一頁編碼出來。 那四個角構不成一頁。 四個角找到了。核對一下,偏了的拖回去。 紙的邊緣不夠清楚,沒法確定。這四個角是猜的,繼續之前先把它們拖到紙上。 這張照片裡認不出一張紙,所以角放在照片的邊上。把它們拖到紙上。 這張圖裡沒有可找的東西,它根本沒有邊緣。 這張圖太小了,在裡面找不出一張紙。 這四個角現在歸你了。「重新找角」會把照片從頭量一遍。 左上角 右上角 右下角 左下角 {corner},橫向 {x},縱向 {y}。方向鍵可以挪它,按住 Shift 一次挪十個畫素。 編輯第 {index} 頁 移除第 {index} 頁 把第 {index} 頁往前挪 把第 {index} 頁往後挪 {count} 頁 {count} 頁 A4 或者 A5 US Letter US Legal 一張名片 頁面出來是 {ratio},這正是 {paper} 的形狀。 頁面出來是 {ratio},這正是橫放的 {paper}。 頁面出來是 {ratio},這不是標準開本。 形狀是從照片的透視裡還原出來的,所以這是紙的形狀,不是它在畫面裡顯出來的樣子。 照片是正對著拍的,所以形狀直接從邊緣量得。 {width} 乘 {height} 畫素,在這個尺寸的頁面上大約 {dpi} DPI,列印夠用。 {width} 乘 {height} 畫素,在這個尺寸的頁面上大約 {dpi} DPI。螢幕上沒問題,紙上略微發虛。 {width} 乘 {height} 畫素,在這個尺寸的頁面上大約 {dpi} DPI。要列印的話,再走近點。 {width} 乘 {height} 畫素。 紙填滿了照片的 {percent}%。 紙只填滿了照片的 {percent}%,也就是說你拍到的大半是桌子。下次靠近些。 輕:把紙弄勻,別的基本不動。給那種寫著淺鉛筆字或者帶照片的頁面用。 常用的一檔:紙重新變白,印刷體重新變黑。 重:所有發灰的都往黑或者白推。在只有印刷體的頁面上最乾淨,在任何帶圖的東西上則是毀滅性的。 第 {done} 頁,共 {total} 頁… 正在寫文件… {name} | {size},{pages}。 {name} | {size},{pages}。 按每畫素一位儲存並精確壓縮,所以才這麼小。 頁面按你選的品質存成了 JPEG。 頁面存成了 PNG,它是無損的,也正是兩種顏色的影像需要的。換成 JPEG 會更大,而且每個字周圍都發糊。 沒有日期,沒有作者,沒有電腦名。除了頁面,文件裡只有這個工具的名字。 每張紙拿到的就是它那一頁真實的尺寸,按上面選的解析度算。不會加白邊去湊。 每一頁都放在 {name} 的紙上、頁邊距以內,不管它最後成了什麼形狀。 這個瀏覽器打不開 {name}。要是 iPhone 拍的 HEIC 照片,先轉換一下。 先至少選一張照片。 做檔案的時候出了差錯:{detail} 你的文件沒有去任何地方。載入了 {total} 個檔案,全都是本站自己的。{platform} 有東西聯絡了 {hosts},而這個工具從不這麼做。值得去查一查。{platform} 本站自己用於廣告、統計和捐贈按鈕的指令碼來自 {hosts} 個主機,它們誰也沒拿到照片,或照片裡的一個位元組。 本站自己用於廣告、統計和捐贈按鈕的指令碼來自 {hosts} 個主機,它們誰也沒拿到照片,或照片裡的一個位元組。