PDF 閱讀器

看、改、簽,
一個 PDF 程式全包

PDF 核心是 Pomelo 自己寫的,不用現成的 PDF 函式庫,整個程式只有 310 KB。 公文、合約、表格,看完直接註解、簽名、改字、去浮水印,不必再另外找軟體。

PDF 閱讀器:左邊是頁面縮圖,上面有頁碼、縮放與搜尋
閱讀

中文公文、加密檔案,
打開就能看

  • 沒內嵌字型的公文(新細明體、標楷體)改用系統字型顯示
  • 直書、Big5 編碼的字型名稱也可以
  • 有密碼的 PDF:RC4、AES-128、AES-256
  • 壞掉的檔案:交叉參照表壞了會自動修復
  • 掃描檔:CCITT、JPEG 2000、JBIG2 圖片
  • 搜尋:全部標黃色、目前這個標橘色,全形英數也找得到
  • 選取文字:雙擊選詞、三擊選行,Ctrl+C 拷貝
  • 多個分頁、書籤、縮圖,下次打開回到上次那一頁
  • 列印(Ctrl+P)、全螢幕(F11)、深色模式
PDF 閱讀器
註解與簽名

畫重點、寫筆記、
簽上你的名字

  • 螢光筆、底線、刪除線:在文字上拖曳
  • 便利貼、文字:點一下就能寫
  • 畫筆、方框、橢圓、直線、箭頭
  • 可以選顏色與粗細,拖曳、改大小、刪除
  • 手寫簽名:用滑鼠簽,或用簽名的照片(白色背景自動去掉)
  • 存好的簽名點一下就放上去,可以拖曳、縮放
  • 在表格的空格裡填字
  • 存檔是接在原本的檔案後面,其他 PDF 閱讀器都看得到
PDF 閱讀器的填寫與簽名:螢光筆、便利貼與手寫簽名
數位簽章

證明「是我簽的,
簽完沒被改過」

簽署與驗證都是 Pomelo 自己寫的,密碼學的部分用 OpenSSL。我們簽的文件,用 poppler 驗證都有效。

  • 用數位識別碼(.p12/.pfx)簽署
  • 可以自己建立識別碼,或匯入憑證機構發的
  • 外觀加上手寫簽名,寫原因與地點
  • 點文件裡空白的簽章欄位就能簽在那裡
  • 簽完再加註解,簽章仍然有效
  • 可以「檢視簽署時的版本」、「信任這個憑證」
已簽署,所有簽章都有效簽完之後文件沒有被改過
簽章有效,但有需要注意的地方簽署人身分無法確認,或簽署後頁面被改過
有簽章無效文件在簽署後被竄改
PDF 閱讀器的數位簽章:上方的狀態列、左邊的簽章面板與簽章內容
整理頁面

旋轉、重排、合併、加頁碼

整理頁面

所有頁面的縮圖,可以旋轉、刪除、拖曳調整順序、擷取成新文件、插入其他 PDF 或空白頁。

合併檔案

好幾個 PDF 照順序合併成一份,每個檔案在書籤裡一項;原本的檔案不會動。

加上頁碼

六種格式(例如「第 1 頁,共 9 頁」)、六個位置,可以從第幾頁開始編號,封面不編號也行。

編輯內容

直接改頁面上原本的字

可以改的每一行字有淡淡的框,點一行就能改,清空就是刪掉。

  • 新的字用最接近原本的字型:明體、楷體、黑體,粗體也會跟著粗
  • 同一行後面的字跟著挪;改好的字可以選取、搜尋、拷貝
  • 加入文字:直接寫進頁面內容,不是註解,別人刪不掉
  • 有密碼的檔案改完還是同一種加密
PDF 閱讀器的編輯內容:每一行字有框,點一下就能修改
移除浮水印

浮水印,一次拿掉

自動找出整份文件裡可能是浮水印的東西,以及出現在幾頁;看起來確定的已經勾好,確認後一次移除。

  • 標成浮水印的內容、浮水印圖層與註解
  • 每頁都有的斜放半透明大字、同一個圖案
  • 頁首頁尾
PDF 閱讀器的移除浮水印:勾選要移除的項目
品質

寫出來的檔案,別的閱讀器也看得懂

用 qpdf 檢查

存出來的檔案都用 qpdf 檢查過,其他 PDF 閱讀器看得到一樣的註解、簽名與頁碼。

用 poppler 驗證簽章

Pomelo 簽的文件用 poppler 驗證都有效(包括加密的文件);竄改過的會顯示簽章無效。

模糊測試

故意弄壞的 PDF 不會讓程式吃光記憶體或寫出界;每頁畫的東西有上限。

目前還不能:填寫表單欄位(之後的版本會加上);用讀卡機上的憑證簽署(例如自然人憑證);簽署時加時間戳記。改字是一行一行改,不會自動換行。