PDF目錄編輯器使用介紹

来源:https://www.cnblogs.com/weiliuhong/archive/2019/06/28/spire-pdf-tool.html
-Advertisement-
Play Games

本軟體取名為”PDF 目錄編輯器”,使用 WPF 開發,調用第三方類庫 Spire.PDF 免費版。 ...


PDF目錄編輯器使用介紹

魏劉巨集 2019.06.28

PDF 是一個比較優秀的文檔格式,能夠保證在任何終端顯示的樣式是一樣的。但同時也帶來了一個問題,就是編輯不方便,其實這也是這個格式特意為之的,無可厚非。不過其中的一個不方便 —— 添加目錄不方便 —— 則是有點令人苦惱的,尤其是大篇幅的外文 PDF ,沒有目錄的話,手動翻找就沒那麼一目瞭然了。目前市面上,本人並沒有找到一款方便快捷、輕巧專一的 PDF 目錄編輯器,所以打算自己寫一個相關軟體,首先是自己用,進而也可與大家互相交流學習。

本軟體取名為”PDF 目錄編輯器”,使用 WPF 開發,調用第三方類庫 Spire.PDF 免費版。

首先來看看軟體界面:

 

“測試區” 是參照網上的文章(《C# 添加、修改和刪除 PDF 書簽》)做的例子,本軟體也是受其啟發而誕生的。感興趣的朋友可以去那篇文章看看,就不贅述了。

 

接下來就看看本人擴展的功能,我們可以選取一個 PDF 來看看:

 

這本書是《C# 高級編程 (第 10 版)》,有 1480 頁,所以目錄也很多,載入也比較慢,所幸還是能正常載入的,哈哈。

載入之後各級目錄就以樹形展現在左邊的區域了,此時中間區域的” 新增” 按鈕就變得可用了,這個是新增目錄用的,後面再說。

 

我們點擊一個目錄,則中間區域顯示出該目錄的信息,同時底下的” 修改” 和” 刪除” 按鈕也變得可用了:

 

目錄的信息包括序號、標題、頁碼,序號這裡目前有個 Bug,就是要點擊一下其它項,再點回來才會顯示,暫時沒找到原因,不影響使用。

序號從 0 開始,支持多級顯示,比如 2-1-1 級目錄顯示為 1-0-0:

 

這個後期可考慮改為人性化的顯示(2-1-1)。至於頁碼,就是正常的從 1 開始的,不過註意是 PDF 文件的頁碼,不是書籍的頁碼。

 

下麵我們換個簡單的文件來演示,先演示最簡單的刪除:

 

刪除主要是依據序號來刪除的,所以也可以手動按格式輸入序號來刪除。點擊” 刪除” 後,會提示變更還未保存到文件,後續依次點擊” 寫入文件” 和” 刷新” 即可,當然,也可以勾上” 自動模式”,則會自動執行寫入和刷新。

 

由於前面提到的 Bug,如果只有一條目錄,則需手動輸入序號 0,然後進行修改標題和頁碼:

 

至於新增,則可通過控制序號,來靈活地添加或插入兄弟目錄或子目錄:

 

基本是可以無限添加的:

 

最後是關於頁面:

 

開源地址:https://gitee.com/dlgcy/SpirePdfTool

下載地址:https://download.csdn.net/download/w19921004/11262863

 

同步首發:http://dlgcy.com/spire-pdf-tool/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 隨著工業互聯的發展,掃碼槍在很多場合都有所應用,超市、商場以及一些智能工廠。今天主要講如何通過C#實現與新大陸掃碼槍(OY10)進行通信,對於掃碼槍的配置,這裡就不多說了,結合說明書就可以實現。這裡值得註意的是,如果安裝驅動後,電腦設備管理器中看不到COM口,可能需要掃一個條形碼來設置一下,具體參考 ...
  • 今天看到一篇漫畫,[3年.NET開發應聘大廠慘遭淘汰,如何翻身打臉面試官?],好多問題,一下子還真的回答不了,這裡對這些問題進行了整理,增加下腦容量,哈哈。俗話說不想當將軍計程車兵不是好士兵,不想當架構師的程式員,不是一個努力要進步的程式員,努力加油,不斷學習。有人說架構師都是一批禿頂的人,程式員都是 ...
  • 便簽記錄Mysql,Sql server,Sqlite,Access四種資料庫的簡單連接方式 //using MySql.Data.MySqlClient; #region 執行簡單SQL語句,使用MySQL查詢 static string strConn = "server=.;database= ...
  • 網路上資源很多不全面,自己在開發的時候走了不少彎路,在這裡整理了最全面的google全套開發,COM交互,web端交互。封裝好了各種模塊功能。 直接就可以調用。 第一種方式:調用COMAPI實現調用google地球 1、安裝googleearth客戶端。傳送門:https://pan.baidu.c ...
  • 在原來的.net framework mvc中html的標簽可以使用下麵的方法 此時html標簽裡面屬性與值的對應要求不是很高,但是在.net core 2.2中,html標簽裡面屬性與值的必須要對應要求,上面得這種情況會報錯 標記幫助器"選項"在元素的屬性聲明區域中不得包含 C# 語句。 編輯器會 ...
  • 在較早期的隨筆《ABP開發框架前後端開發系列---(5)Web API調用類在Winform項目中的使用》已經介紹了Web API調用類的封裝處理,雖然這些調用類我們可以使用代碼生成工具快速生成,不過自定義介面,還是需要我們對這些介面進行實現,以便發起對Web API的調用,並獲得相應的數據返回。本... ...
  • 流程都是自己摸索,錯誤地方隨便指正。。。 老項目過於臃腫,並且所有請求都是提交到一個api中,這樣當api掛掉的時候,基本所有的項目都癱瘓掉了。 在4月底的時候,下決心將項目用微服務進行重寫,剛開始的時候,希望能找到.net framework的微服務解決方案,最後發現,一個都沒有。。。並且一個人開 ...
  • Quartz.NET是一個強大、開源、輕量的作業調度框架,你能夠用它來為執行一個作業而創建簡單的或複雜的作業調度。它有很多特征,如:資料庫支持,集群,插件,支持cron-like表達式等等。非常適合在平時的工作中,定時輪詢資料庫同步,定時郵件通知,定時處理數據等。 Quartz.NET允許開發人... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...